Now that you have your project infrastructure setup and configured, you are now to begin the work of designing and planning your open source project.
For the second Milestone, your group must accomplish the following tasks:
Related Work: Identify any relevant related work (ie. existing projects, products, software, etc.).
Consider what you can take or learn from this related work.
Describe how your project is different for this related work.
Resources: Enumerate any necessary hardware, software, or computing resources (ie. Raspberry Pis, cloud computing credits, software licenses, etc.).
Technology Stack: Determine which set of technologies or platforms you will be using in your project (ie. programming language, libraries, development tools, etc.).
Explore these technologies to determine if they are viable or not.
Ensure all project members can develop with the chosen technology stack.
Architecture: Outline the key architectural components of your project.
Mock up the user interface of your project (if it requires one).
Draw diagrams to illustrate the components of your software.
MVP: Determine exactly what the end goal of the project should be.
Enumerate the absolute minimum set of realistic goals for the semester.
Break down these goals into discrete features or components.
Consider what tasks need to be done to implement these features.
Describe the ultimate set of aspirational goals given abundant time and resources.
For this Milestone, your group must present the overall project design to the instructor.
You must make a post to your website announcing your project and your overall design based on the tasks above. This announcement should take the form of a project vision that describes the motivation for the project and then delves into the details of the design choices you made.
You must use your project issues/milestone boards to keep track of the tasks above and assign them to different members of the group. Each person should have ownership of a task, though anyone can contribute. The exact management of the group is left up to you.
For the meeting, you must have a slide deck that summarizes the work you did for this milestone and enumerates the contributions of each member. You should be able to identify any unresolved issues or obstacles and to describe the decisions you made.