We are looking to build a system where clients can login and download contract templates for free
This system must be built using the latest version of python and react.js
Any additional modules used must be open source and free for use in commercial software MIT license or equiv preferred
The system is setup so that a new user to the site can enter their company name.
The system will then search existing companies for that name. If it does not exist it will create a new database ( while the system is being setup the user can see an animated GIF showing that we are setting up their system)
If the company does exist it will add that user to the existing company database.
Each company will have their own database that mirrors a MASTER database. this is to ensure if and when we expand the system to add extra tables or columns we only need to add this to the MASTER database and then the system will automatically add to the Company databases
Once a new company and/or user is setup we should be able to see them in the admin panel
When a user logs in they will always get the dashboard (at this stage the dashboard is just sample graphs using hard coded data)
The user can remove (using X in the top right of the dash part) or add dash parts (using the round + in the top right of the dashboard screen)
When adding a dashpart the user can select from a popup list of parts. Again these can just be hard coded data.
At the top of the screen the user has a button to press that pops up a list of outstanding tasks/work items. if the item is a progress bar they can set the % complete. if it is a tick box they just tick it. when a box is ticked OR progress bar reaches 100 they will be marked as complete and be removed from the list. However they will stay in the database for history
When the user clicks in the menu on the left they navigate to the revelant pages.
The contract management and contract creation are part of an existing project and they will be merged into this at a later date. so please use a place older for those pages
The data entry 1 and 2 screens are for proof of concept for the live update/ who is viewing data/ websockets
Settings company is just a grid stored back into a table in the company database
Security will allow the creation of roles. each role can view all menu items using tick boxes. if the user has a role that does not have access to settings then they can not see settings or overwrite any routes