Skip to content

Commit d63ac92

Browse files
authored
docs: adds capstone project requirements (#776)
Signed-off-by: Anthony D. Mays <anthony@morganlatimer.com>
1 parent 7972594 commit d63ac92

File tree

1 file changed

+120
-0
lines changed

1 file changed

+120
-0
lines changed

capstone/README.md

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
# Capstone Project
2+
3+
For the next two weeks, you and your team will ideate and implement a working software system. You will have the opportunity to apply the skills that you have learned to solve an interesting problem or contribute a meaningful tool that improves our lives.
4+
5+
### Changelog
6+
- 7/21 @anthonydmays Initial draft
7+
8+
### Technical Requirements
9+
10+
Your project submission must include the following elements:
11+
12+
* All work must be submitted in your team's assigned GitHub repository. Your team must track issues, bugs, pull requests, and features. See [Lesson 05][lesson-05] for a refresh.
13+
* Each team member must contribute *at least two* submitted pull requests containing working code and tests. See [Lesson 15][lesson-15] for a refresh.
14+
* Write unit tests achieving 80% code coverage (using JaCoCo for Java or Jest for Typescript).
15+
* Must have a working front-end that interacts with a back-end web service to retrieve and persist data.
16+
* Your app must be publicly accessible. It is recommended that you use [Vercel](https://vercel.com) or [Fly.io](https://fly.io) to deploy your apps.
17+
* The system must incorporate one third-party web API.
18+
* Your repo must include a README with the following elements:
19+
* The team
20+
* Screenshot
21+
* A description of the app
22+
* Demo link
23+
* Installation instructions
24+
* Known issues
25+
* Roadmap features
26+
* Credits
27+
* It is **HIGHLY** recommended that you maintain a clean `Main` branch and only merge changes via pull requests (we've been using squashed merges for the main repo to simplify commit history). Don't forget to use [Conventional Commits][conventional-commits-link].
28+
29+
### Important Milestones
30+
31+
To ensure the timely completion of your project, you will need to complete the following milestone tasks.
32+
33+
<table>
34+
<thead>
35+
<th>Milestone</th>
36+
<th>Date</th>
37+
</thead>
38+
<tbody>
39+
<tr>
40+
<td>Submit user stories to your repo as a markdown file.</td>
41+
<td>Thurs, Oct 9</td>
42+
</tr>
43+
<tr>
44+
<td>
45+
Obtain project sign-off from instructor/TAs<br>
46+
<a href="https://calendar.google.com/calendar/u/0/appointments/schedules/AcZssZ1dD0ruj64FcykMfPBo7qQaV6AqZ58O7ON8Z3ld-xwNEbFmy0JGyLuwIwxJZjoGoEuz1U9bRZqu">
47+
Schedule a review meeting here
48+
</a>
49+
</td>
50+
<td>Fri, Oct 10</td>
51+
</tr>
52+
<tr>
53+
<td>Hold Sprint planning meeting</td>
54+
<td>Mon, Oct 13</td>
55+
</tr>
56+
<tr>
57+
<td>Begin implementing your designs</td>
58+
<td>Mon, Oct 13</td>
59+
</tr>
60+
<tr>
61+
<td>Update your meeting notes document</td>
62+
<td>Daily</td>
63+
</tr>
64+
<tr>
65+
<td>
66+
Practice presentation sessions
67+
</td>
68+
<td>Wed-Thurs, Oct 22-23</td>
69+
</tr>
70+
<tr>
71+
<td>Presentations due</td>
72+
<td>Thurs, Oct 23, EOD</td>
73+
</tr>
74+
<tr>
75+
<td>Final presentations</td>
76+
<td>Fri, Oct 24</td>
77+
</tr>
78+
</tbody>
79+
</table>
80+
81+
### Helpful Resources
82+
83+
Here are some links to tools and templates that can help you work together effectively.
84+
85+
* [TODO App (fullstack NextJS app in TypeScript)](/lib/javascript/fullstack_demo)
86+
* [TODO App (fullstack React + Java Spring app in TypeScript/Java)](/lib/java/fullstack_demo)
87+
* [v0 (chatbot for generating UI and web applications)](https://v0.dev)
88+
* [A Short Guide to Effective Daily Standups (Nave)](https://getnave.com/blog/short-guide-daily-standups/)
89+
* [Team Meeting Notes template (Google Docs)](https://docs.google.com/document/d/1rL-Zm2w0hABuGkIMSPzmXcJHDQxmIeA-mlipt8kDA9E/edit)
90+
* [Crafting Effective User Stories: A Guide to Good and Bad Versions (Visual Paradigm)](https://guides.visual-paradigm.com/crafting-effective-user-stories-a-guide-to-good-and-bad-versions/)
91+
* [Third-party APIs (MDN)](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Third_party_APIs)
92+
* [GitHub Flow (GitHub.com)](https://docs.github.com/en/get-started/using-github/github-flow)
93+
* The Software Engineer's Guidebook, Chapter 10, "Tools of the Productive Software Engineer."
94+
95+
### Presentation Guidelines
96+
97+
For your presentation, you will be given up to 20 minutes to feature your project. Each person on the team should have a speaking role. Here's what your presentation will contain:
98+
99+
1. Up to four slides of content, then a live demo walkthrough.
100+
2. Your presentation should cover the following items, in order:
101+
- [ ] Introduce team members and their roles
102+
- [ ] State the problem your attempting to solve
103+
- [ ] State how your app is designed to solve the problem
104+
- [ ] Show your demo
105+
- [ ] Discuss how you'd like to enhance in the future
106+
- [ ] Lastly, talk through technical challenges and features.
107+
3. You will be given 5 minutes for Q&A and take questions from the audience.
108+
109+
### Feedback
110+
111+
Please use [this link](https://forms.gle/f4UbB7fWir6Gx2iUA) to submit feedback on your teammates for grading.
112+
113+
### Academic Integrity
114+
115+
Please refer to the [Academic Integrity][academic-integrity-link] section of the syllabus regarding the use of third-party code and resources that you have used for your project. Give credit to where credit is due!
116+
117+
[conventional-commits-link]: https://www.conventionalcommits.org/en/v1.0.0/
118+
[academic-integrity-link]: /syllabus/README.md#academic-integrity
119+
[lesson-05]: /lesson_05/README.md
120+
[lesson-15]: /lesson_15/README.md

0 commit comments

Comments
 (0)