A simple Flask application made to clients who wants to have a better way to request new features for their software.
With this app, the client creates a request that will be exposed to developers who implement them.
The project can be viewed live at:
The app is not live anymore
This project is a minimum viable product (MVP) based on given requirements. A lot of features can be implemented to make it a complete product. Features like filtering by clients, creating new clients, and so on. The UX can be improved too, things like card color changing when the due date approaches and better error and success feedback.
-
Backend
Python 3.6, Flask, SqliteAlchemy, Sqlite
-
Frontend Bootstrap 4, KnockoutJS, Jquery
- AWS Elastic Beanstalk.
- Deploy with eb CLI
- Database Mysql
git clone https://github.com/HildePedroni/iws_feature_requester.git
python3 -m venv env
- Activate the virtual environment
source env/bin/activate
pip install -r Requirements.txt
DEBUG=True
DB_HOSTNAME=localhost
DB_USERNAME=root
DB_PASSWORD=root
DB_NAME=ebdb
AWS_ACCESS_KEY_ID=Your_key_id_or_leave_blank
AWS_SECRET_ACCESS_KEY=your_access_key_or_leave_blak
The above variables are required, but except DEBUG they all can be left blank
If you set DEBUG to false, you will have to set-up a MySQL database, or change the config.py file to use whatever database you like
For development, SQLite was used. To create the database access the python interactive shell at the project root
python
>>> from feature_requester import create_app
>>> from feature_requester.models import db
>>> db.create_all(app=create_app())
make test
python application.py
The application is deployed with AWS elastic Beanstalk CLI. With a MySQL database
To install follow the instructions at:
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install.html
To configure follow the instructions at:
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-configuration.html
You have to have the AWS credentials to config the environment
After the configuration done, use
eb deploy
to deploy the application
Hope you enjoy