Project Plan and Tools - KiboNaku/EE461L_Project GitHub Wiki
https://docs.google.com/document/d/19YwEGZhaYBvQjabRl6op9_Vd7w4U096O0Z2swLMR1IA/edit?usp=sharing
View on Google Doc:Features: all on GitHub Issues.
User Stories: all on GitHub. Projects tab -> EE 461L Project
Project Plan:
The first step in our plan is to finalize our plans and develop a rough idea of what is to come. We plan on finishing this step on or before the 7th of February. This is where we will develop the structure that will be followed for the rest of the semester, including but not limited to the initial GitHub stories, a rough sketch of the application, and any initial questions we have. This is also where we plan on creating a general schedule and determine member roles.
Currently, we plan to follow the Scrum process with Travis Mongoven as the Project Owner and Andy Ni as the Scrum Master. Our plan for the daily scrum meetings is as follows: each person will work on the programming portions individually and the meetings will occur at 12:30 PM Monday to Sunday. During the meetings, each person will briefly discuss what they did the day before, and, if for any reason a member is not able to attend, they will attend the next meeting to be caught up. At the moment, the following members will not be able to meet on Tuesdays and Thursdays: Vina Xue and Andy Ni. Additionally, a day is set aside for “big issues”: Sunday from 7 PM to 8 PM, where if there is a problem that requires the team to attend, the time will be set aside accordingly. This is the general plan we will follow, but, if necessary, changes will be made to better accommodate the circumstances.
Following finalizing our plans, we will begin to develop a more strict understanding of our web app. This includes creating user stories, a high-level sketch of the web application, and developing the backend and database to support the web application. Our plan has us beginning this step of the project on February 8th. We will ask TA during office hours to check the quality of our work.
We plan to start by creating a structure for the frontend. The first step will involve personal research into the topic of react.js and then implementing a general structure for each page listed in our work items. After meeting the minimum requirements, we plan on starting on the backend and the database. Additional features such as cleaning up the structure of the items for the frontend and the bootstrap will be done later.
After we finish the basic realization of our project, we will start to connect the parts of the project together. We will start by connecting the frontend to the backend. Then we will connect the backend to our database to create our API. For this process, we will dedicate half of the members to cleaning up the frontend structure while the rest focus on the backend API requirements.
After finalizing the structure of our project, we will continue by realizing the features, including add the billing feature, retrieve data from datasets, realize user login and registration, allow users to create and join projects, and add models in the backend. This will lead to us finishing the website itself, at which point it needs to be hosted, tested, and documented to the instructor’s satisfaction. This is also where we will have 1-2 members work on bootstrapping the frontend and making it look appealing.
Our final step is to finish up the website by hosting it on the cloud, testing it thoroughly, and adding documentation. This will tie up any loose ends in the project and ensure that the project is completed to the assignment specifications, as well as letting our website become available to whoever wants to access it.
After we have finished everything, we will manually test the frontend and write automated testing as necessary. Additionally, near the end of each sprint, the code written in that section will be tested as necessary through both unit and integration testing.
Tools and Approach
For our frontend, we plan on using React.js for the structure and Bootstrap for the CSS/styling. For our backend, we plan on using Python and Flask. For our database, we will be using MongoDB. Lastly, it will be hosted on Google Cloud.
High-Level Sketch
https://github.com/KiboNaku/EE461L_Project/blob/main/project_plan.png