|
| 1 | +# Mid Specialism Course Project Proposal |
| 2 | + |
| 3 | +## Context |
| 4 | + |
| 5 | +In the old bootcamp, we had an individual project in the second half that practiced the "whole process" of creating a full stack app and deploying it. It was called "meal sharing". |
| 6 | + |
| 7 | +The project was split over multiple modules: [React](https://github.com/HackYourFuture-CPH/react), [Node](https://github.com/HackYourFuture-CPH/node.js) and [Database](https://github.com/HackYourFuture-CPH/databases). That makes it a little hard to see exactly the scope of the project, but all the old tasks are explained in those archived repos. |
| 8 | + |
| 9 | +The new Program does not currently include this meal sharing project. We are now planning on including a similar project, and this proposal outlines some intentions/assumptions. |
| 10 | + |
| 11 | +## The idea |
| 12 | + |
| 13 | +We'd like to include a similar "big" individual project like the meal sharing in the specialism courses. I'm calling it the "mid specialism course" project for now (catching name, right?!). |
| 14 | + |
| 15 | +Some starting points: |
| 16 | +1. It should be the same "theme" across all specialisms, but the implementation requirements differ. |
| 17 | +2. Each specialism has it's own scope based specifically on the course's content. See examples below. |
| 18 | +3. It should be organised similarly as the mealsharing project, in that it should: |
| 19 | + 1. Run across 4-5 weeks in the specialism course |
| 20 | + 2. Be built alongside assignments in existing modules (React, Node, Databases) |
| 21 | + 3. Be an individual project |
| 22 | + |
| 23 | + |
| 24 | +## Main learning goal ideas |
| 25 | + |
| 26 | +1. Practice running a full end to end project (e.g. planning with trello, through to deployment) |
| 27 | +2. Feel ready to run a similar process for the final project |
| 28 | +3. Practice (potentially) more complex deployment processes |
| 29 | +4. Put the specialism knowledge and skills into "real life" practice during the course |
| 30 | + |
| 31 | +## How it could look |
| 32 | + |
| 33 | +The main concept is to keep a consistent theme across specialisms, but course-specific deliverables. This gives us flexibility if we change or create new specialisms, since they are not dependent on the same implementation details. |
| 34 | + |
| 35 | +By keeping the projects entirely specialism bounded (e.g. backend only build the backend, rather then a full stack app), we can keep maintainence of boiler plate/starting codebases to a minimal. |
| 36 | + |
| 37 | +### Theme |
| 38 | + |
| 39 | +We should choose something other than "meal sharing" so trainees have something more unique to work (everyone knows everyone who graduates HYF has built a meal sharing app - it's a little tired now). It should be one well described theme. |
| 40 | + |
| 41 | +### Frontend |
| 42 | + |
| 43 | +Build _only_ the frontend part of the app. Backend data could be provided either with a very simple API, or a mock via hardcoded JSON data, or something similar. But we do not want anyone to get stuck with API work, they should be focussing on the frontend skills. |
| 44 | + |
| 45 | +#### Example deliverables |
| 46 | + |
| 47 | +1. Trello board with organised/completed tasks |
| 48 | +2. A standalone frontend codebase |
| 49 | +3. A deployed web app accessible via a public url |
| 50 | + |
| 51 | +### Backend |
| 52 | + |
| 53 | +Build _only_ backend related parts of the app. There would be no end to end app being delivered/deployed. They would focus on building a suitable database and API endpoints, along with documentation. |
| 54 | + |
| 55 | +#### Example deliverables |
| 56 | +1. Trello board with organised/completed tasks |
| 57 | +2. A standalone backend codebase |
| 58 | +3. A database schema/working database |
| 59 | +4. Deployed API documentation |
| 60 | +5. Deployed API and database |
| 61 | +6. Postman collection to test/demo all endpoints and example usage flows |
| 62 | + |
| 63 | +## Next steps |
| 64 | + |
| 65 | +1. Get feedback on this proposal (until end of year) |
| 66 | +2. Work with a couple of mentors to brainstorm themes and build out a couple of potential project tasks that fit well in the current specialisms |
| 67 | +3. Build and test any boilerplate/starting code for the projects |
| 68 | +4. Integrate into the existing specialisms, either alongside existing assignments, or replacing them (or reducing them, so it doesn't become too much work) |
0 commit comments