Project Plan - AyaanMahimwala/EE461L_Group_11_Final_Project GitHub Wiki
Project Summary
This project will be a proof of concept for a functioning hardware as a service web application. Our application will let users sign up for our service and start creating projects. Users can checkout specific hardware resources, which will be available at three different tiers. Usage of hardware sets will be billed according to their tier. Users will also be able to create projects associated with hardware sets and our application will serve sample datasets for users.
Choice of Tools
Python Flask: This is the tool that will be used for the backend portion of the project. This includes interacting with the database of logins and passwords from a user management standpoint. This also includes interacting with the database when giving information on availability and capacity of hardware sets from a resource management standpoint. Lastly, it includes the routing of API calls to allow for the download of the datasets from the data access standpoint.
React.js: This is the tool that will be used for the frontend portion of the project. This includes creating a way for users to interact with the features connected to the backend of this project. This will be done by creating a website that is clean, concise, and navigable. This website will have a login page, hardware set page, an FAQ page, and a page for creating, viewing, and organizing personal projects on the website.
Semantic UI: This is a library more than a tool with basic starter components throughout the web. It is a relatively popular library extender and offers many UI elements. We will supplement the elements in this library with custom code or modifications as well as the base library inbuilt in react. This allows us to create a polished website without the overhead of coding all custom elements from scratch.
MongoDB: This is a database management tool that will be used to organize user information in the backend of the project. This information will include things such as login and billing information, project and resource details, user preferences and settings, as well as other information. MongoDB allows for changes to existing data structure to be made seamlessly, making adding features and improving the website simple.
Project Sketches
