I developed this tool for a coding competition and it draws it's inspiration from Trello. It allows you to keep track of Feature Requests that you get from your clients. This uses Flask for the backend along with SQLite (which can be changed in the .env
file thanks to SQLAlchemy) and KnockoutJS with other basic web technologies for the frontend. Vagrant is used for deploying the project as I have always wanted to play around with it.
Also, you can check out the for the project is deployed on Heroku.
Send me a PR or raise an issue if you think that I've approached any aspect of the project incorrectly. As this was my first time working with this stack, bugs and mistakes are probable, sadly.
- Flask
- KnockoutJS
- SQLite
- Vagrant
- Python 3
- Vagrant
- Virtualbox
- Clone the repo and as stated, make sure you have Vagrant and Virtualbox installed.
- Edit the
.env.sample
with your as per your requirements and rename it to.env
. This is important as the project does make use of these variables. cd
into the repo and runvagrant up
. Meanwhile, grab some coffee as the first run takes a while depending on your internet connection.- This installs all the required dependencies to run the project on a fresh VM. Once finished you can open
http://10.0.0.5
(which can be changed inside theVagrantfile
) in your browser and play around with the deployed project. Usevagrant ssh
to access the VM environment.
If you do not wish to run this project using Vagrant, you could just clone it and run it locally.
- Clone the repo and
cd
into thefrt
directory where the application lives - Create a virtualenv by executing
python3 -m venv frt_env
- Once the env is created, you can activate it by executing
source frt_env/bin/activate
- Install all the dependencies by executing
pip install -r requirements.txt
- Edit the
.env.sample
with your as per your requirements and rename it to.env
. This is important as the project does make use of these variables. - Make sure your database is set up and the
DATABASE_URL
is set in the.env
- Execute
python migrate.py db migrate
to build the migrations for the DB - Execute
python migrate.py db upgrade
to commit the migrations to your db - If you wish, run
flask addmockdata
to add a couple of entries to the database initially - Tests can be run by executing
python -m unittest discover -s tests -p "test_*.py"
or by running the includedtest_codebase.sh
script if you are lazy like me - Run the local server by executing
flask run
and openhttp://localhost:5000
in your browser