Skip to content

Commit 3ec4746

Browse files
authored
feat: adds capstone requirements (#668)
Signed-off-by: Anthony D. Mays <[email protected]>
1 parent 141d135 commit 3ec4746

File tree

1 file changed

+107
-0
lines changed

1 file changed

+107
-0
lines changed

capstone/README.md

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
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+
### Technical Requirements
6+
7+
Your project submission must include the following elements:
8+
9+
* 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.
10+
* Each team member must contribute *at least one* submitted pull request containing working code and tests. See [Lesson 15][lesson-15] for a refresh.
11+
* Write unit tests achieving 70% code coverage (using JaCoCo for Java or Jest for Typescript).
12+
* Must have a working front-end that interacts with a back-end web service to retrieve and persist data.
13+
* Your app must be publicly accessible.
14+
* The system must incorporate one third-party API.
15+
* All code must be kept in a public GitHub repository.
16+
* Your repo must include a README with the following elements:
17+
* The team
18+
* Screenshot
19+
* A description of the app
20+
* Demo link
21+
* Installation instructions
22+
* Known issues
23+
* Roadmap features
24+
* Credits
25+
* 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].
26+
27+
### Important Milestones
28+
29+
To ensure the timely completion of your project, you will need to complete the following milestone tasks.
30+
31+
<table>
32+
<thead>
33+
<th>Milestone</th>
34+
<th>Date</th>
35+
</thead>
36+
<tbody>
37+
<tr>
38+
<td>Submit user stories to your repo as GitHub issues</td>
39+
<td>Tue, Dec 3</td>
40+
</tr>
41+
<tr>
42+
<td>Update your meeting notes document</td>
43+
<td>Daily</td>
44+
</tr>
45+
<tr>
46+
<td>
47+
Obtain project sign-off from instructor/TAs<br>
48+
<a href="https://calendar.google.com/calendar/u/0/appointments/schedules/AcZssZ1dD0ruj64FcykMfPBo7qQaV6AqZ58O7ON8Z3ld-xwNEbFmy0JGyLuwIwxJZjoGoEuz1U9bRZqu">
49+
Schedule a review meeting here
50+
</a>
51+
</td>
52+
<td>Wed, Dec 4</td>
53+
</tr>
54+
<tr>
55+
<td>Begin implementing your designs</td>
56+
<td>Wed, Dec 4</td>
57+
</tr>
58+
<tr>
59+
<td>
60+
Practice presentation sessions
61+
</td>
62+
<td>Wed-Thurs, Dec 11-12</td>
63+
</tr>
64+
<tr>
65+
<td>Presentations due</td>
66+
<td>Thurs, Dec 12, EOD</td>
67+
</tr>
68+
<tr>
69+
<td>Final presentations</td>
70+
<td>Fri, Dec 13</td>
71+
</tr>
72+
</tbody>
73+
</table>
74+
75+
### Helpful Resources
76+
77+
Here are some links to tools and templates that can help you work together effectively.
78+
79+
* [A Short Guide to Effective Daily Standups (Nave)](https://getnave.com/blog/short-guide-daily-standups/)
80+
* [Team Meeting Notes template (Google Docs)](https://docs.google.com/document/d/1rL-Zm2w0hABuGkIMSPzmXcJHDQxmIeA-mlipt8kDA9E/edit)
81+
* [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/)
82+
* [Third-party APIs (MDN)](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Third_party_APIs)
83+
* [GitHub Flow (GitHub.com)](https://docs.github.com/en/get-started/using-github/github-flow)
84+
* The Software Engineer's Guidebook, Chapter 10, "Tools of the Productive Software Engineer."
85+
86+
### Presentation Guidelines
87+
88+
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:
89+
90+
1. Up to four slides of content, then a live demo walkthrough.
91+
2. Your presentation should cover the following items, in order:
92+
- [ ] Introduce team members and their roles
93+
- [ ] State the problem your attempting to solve
94+
- [ ] State how your app is designed to solve the problem
95+
- [ ] Show your demo
96+
- [ ] Discuss how you'd like to enhance in the future
97+
- [ ] Lastly, talk through technical challenges and features.
98+
3. You will be given 5 minutes for Q&A and take questions from the audience.
99+
100+
### Academic Integrity
101+
102+
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!
103+
104+
[conventional-commits-link]: https://www.conventionalcommits.org/en/v1.0.0/
105+
[academic-integrity-link]: /syllabus/README.md#academic-integrity
106+
[lesson-05]: /lesson_05/README.md
107+
[lesson-15]: /lesson_15/README.md

0 commit comments

Comments
 (0)