r0mflip / meilix-generator

WebApp for generating a custom ISO image based on Meilix http://meilix.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Meilix Generator

Meilix Generator

Meilix-Generator is a webapp which generates an iso with a custom meilix Linux upon request of a user.

  • fossasia/meilix consists the script of a Linux Operating System based on Lubuntu. The bootscreen is build as a deb package in fossasia/meilix-artwork. The app uses Travis to trigger that script to result in a release of an iso file.
  • Now we thought an idea of building an autonomous system to start this build and in the meanwhile also make some required changes to the script to get it into the OS. We came up with a webapp which asks users about their email id and tag of the build and several other options e.g. a default wallpaper image upload. A user is able to config its distro release according to its needs via the app user interface without a single line to code. You can get the iso within 25 minutes of starting of the build.
  • Through the webapp, a build button is taken as an input to go to a build page which triggers Travis with the same user configuration to build the iso and deploy it on a Github page. The user receives a link to the build.
  • We use Travis API with a shell script to outframe our concept. The script takes the input of the users, repository, and branch to decide to where the trigger to take place.
  • The webapp follows the same standard frontend of other FOSSASIA projects like Open Event Webapp

GSoC 2017 Travis branch Gemnasium Heroku Code Climate codecov Codacy branch grade Gitter

Communication

Please join our chat channel on Gitter gitter.im/fossasia/meilix and our mailing list to discuss questions regarding the project and ongoing development.

Technologies Used

Meilix-Generator uses a number of open source projects to work properly:

  • Flask - Microframework powered by python
  • Bootstrap - Responsive frontend framework for webapp
  • Shell - Script used for triggering Travis using their Travis API
  • Heroku - Webapp deployed here
  • Travis - Continuous Integration which build the iso
  • Github Release - Deploying the iso here

Components and its working

  1. Webapp

The source of the webapp frontend can be found here. It consists of:

  1. Generator

The generator runs on flask framework, using the main app script

  1. Scripts
  1. Requirement File

This contains the required packages for running the app.

  • pip install --upgrade -r requirements.in will install latest packages
  • Note that if you would like to change the requirements, please edit the requirements.in file and run this command to update the dependencies: pip-compile --output-file requirements.txt requirements.in fix the versions that definitely work for an eternity.
Working

Webapp ask user for their email-id and event name and a wallpaper which will further be the default wallpaper of the distro. The given event name is used as a tag name of the release. Heroku sends these data to Travis to trigger the build. After successful build Travis deployed the iso in the Github Release of the repository whose information is provided in travis_tokens.

Build Customize

Installation

Please go through all the docs before starting the development process

The meilix-generator can be easily deployed on a variety of platform. Detailed platform specific installation instructions have been provided below:

  1. Local Installation
  2. Deployment on Heroku
  3. Docker container

Accessing the Generator Web App

Generator with all new features

  • Add your email id, event-name, upload an wallpaper (this picture will be set as the default wallpaper) etc.

  • Then click on build button to start the building of the iso with the given configuraiton.

  • You will be welcomed by a screen which has a message that your ISO will be mailed to you on the provided email.

Contributions, Bug Reports, Feature Requests

This is an Open Source project and we would be happy to see contributors who report bugs and file feature requests submitting pull requests as well. Please report issues here https://github.com/fossasia/meilix-generator/issues

Issue and Branch Policy

Before making a pull request, please file an issue. So, other developers have the chance to give feedback or discuss details. Match every pull request with an issue please and add the issue number in description e.g. like "Fixes #123". Go for only one issue per pull request

We have the following branches

  • master All development goes on in the master branch. If you're making a contribution, you are supposed to make a pull request to master. PRs to the branch must pass a build check and a unit-test check on Travis.

Contributions Best Practices

Write-up containing project buildup

License

This project is currently licensed under GNU Lesser General Public License v3.0 (LGPL-3.0). A copy of LICENSE.md should be present along with the source code. To obtain the software under a different license, please contact FOSSASIA.

If you like the project, don't forget to star it.

About

WebApp for generating a custom ISO image based on Meilix http://meilix.org

License:GNU Lesser General Public License v3.0


Languages

Language:HTML 64.4%Language:CSS 22.1%Language:Python 7.9%Language:JavaScript 3.1%Language:Shell 2.5%