- Create an interface to run "TeamAssigner.py" after entering new member and project details. Currently, this needs to be done explicitly from the terminal.
- Currently, "TeamAssigner.py" executes for all the members (new and old). Realistic scenario will be to run the algorithm for new members only. Therefore, update "TeamAssigner.py" for the same.
- Provide State Management to ensure that the URLs will be accessed only after a particular action is executed. As for an example "/success" should be accessible only after form submit has been performed and not otherwise.
- Use ORM instead of raw SQL queries for the backend.
- Wrap the code and create a package so that the entire application can be downloaded from some standard package manager (eg. pip).
- Dockerise the application.
- Hosting the website on to AWS.
- Improve error handling to display relevant error messages instead of generic error messages on the front end.
- Include test cases for frontend and backend testing as well as end-to-end testing.
- Continuous testing using TRAVIS
- Create end-to-end flow by integrating separate code chunks of NodeJs, JavaScript and Flask.
- Restructure the code to logically seperate different sections in the code base
- Add syntax checkers, linters, code formatters, remove redundant files from gitignore, add more badges