From e6613ea0244113754e23d9ad6d3a54664e75381f Mon Sep 17 00:00:00 2001 From: Adam Blanchard Date: Tue, 17 Feb 2026 09:48:18 +0100 Subject: [PATCH 1/6] initial version --- .../mid-specialism-project/README.md | 129 ++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 shared-modules/mid-specialism-project/README.md diff --git a/shared-modules/mid-specialism-project/README.md b/shared-modules/mid-specialism-project/README.md new file mode 100644 index 00000000..5079f386 --- /dev/null +++ b/shared-modules/mid-specialism-project/README.md @@ -0,0 +1,129 @@ +# Mid-Specialism Project + +This is a standalone project where you will build a web application for an events startup. You will work individually to develop features for a ticketing platform that helps people view and buy tickets for events. + +## Contents + +| Week | Topic | Preparation | Session Plan | Assignment | +| ---- | ----- | ----------- | ------------ | ---------- | +| 1. | TODO | TODO | TODO | TODO | + + + +## Scenario + +Welcome to your new job! We are an events startup, and you're here to help us develop our web app, which helps our users view and buy tickets for events. + +### Practical details + +- You'll work by yourself (sorry, you're the only developer we've hired!) +- We have an existing app that you'll build on top of - it's basic so there's lots to do. +- We have some strict requirements that you need to implement, but there is space for personalisation too. + +Some of the requirements below are already working in the current version of the app, others will need to be implemented by you, and there are some suggestions of tasks where you can come up with additional ideas yourself. + +## Product Requirements + +### Browsing and Searching + +- Users can view a list of events +- Users can search and paginate through available events + +### Authentication + +- Unauthenticated users can browse events +- Authenticated users can see their account, previous orders etc. +- Unauthorized actions result in reasonable error + +### Shopping Cart + +- Users can add tickets to their shopping cart +- Items can be added, updated, or removed +- Cart state remains consistent across the session (and beyond the session, if authenticated) + +### Checkout + +- A cart can be finalized into an order, which can no longer be changed + + + +### History and Review + +- Users can view a list of completed orders +- Users can view a specific order and its details +- Users can easily access purchased tickets + +## Technical Requirements + +> Frontenders do not need to implement a backend. Backenders do not need to implement a frontend. + +### API Contract + + + +For frontenders, the API will already be working and complete. For backenders, the API will have placeholders - part of the project is to design APIs, not just implement a planned version. + +### Implementation Requirements + +You should follow the technologies, skills, tools, and stack you've learned throughout the course. + + + +## Organisational Requirements + +Follow the requirements and practices from the [Intro to Agile](../../courses/foundation/intro-to-agile/README.md) module. + + + +## Deliverables + +### Frontend + +- Trello board with organised/completed tasks +- A standalone frontend codebase +- A deployed web app + + + +### Backend + +- Trello board with organised/completed tasks +- A standalone backend codebase +- Documented database schema +- Deployed API documentation +- Deployed API +- Deployed database +- Postman collection to test/demo all endpoints and example usage flows + +## Module Learning Goals + + + +By the end of this module, you will be able to: + +- [ ] TODO + +## Prerequisites + +You should have completed or understand the learning goals in the following modules before proceeding: + + + +--- + +## Internal Planning Notes + + + +We will create two apps, frontend and backend, from hyf-project-template: + +**Backend:** + +- Basic API, runnable +- Initial API docs +- Initial database + +**Frontend:** + +- Basic frontend app, runnable +- Fully working, documented API via json-server, easily editable From e60cb487a16115f3e64705681d7e068095fef529 Mon Sep 17 00:00:00 2001 From: Adam Blanchard Date: Tue, 17 Feb 2026 09:58:55 +0100 Subject: [PATCH 2/6] learning goals --- .../mid-specialism-project/README.md | 86 ++++++++----------- 1 file changed, 38 insertions(+), 48 deletions(-) diff --git a/shared-modules/mid-specialism-project/README.md b/shared-modules/mid-specialism-project/README.md index 5079f386..be3f6f70 100644 --- a/shared-modules/mid-specialism-project/README.md +++ b/shared-modules/mid-specialism-project/README.md @@ -1,14 +1,18 @@ -# Mid-Specialism Project +# Events Startup Project This is a standalone project where you will build a web application for an events startup. You will work individually to develop features for a ticketing platform that helps people view and buy tickets for events. -## Contents +## Project Learning Goals -| Week | Topic | Preparation | Session Plan | Assignment | -| ---- | ----- | ----------- | ------------ | ---------- | -| 1. | TODO | TODO | TODO | TODO | +By the end of this module, you will be able to: - +- [ ] Apply your specialism knowledge and skills within a realistic work project +- [ ] Practice running a full end-to-end project (e.g. planning with trello, through to deployment) +- [ ] Transform requirements into functional working solutions +- [ ] Successfully deploy complex services/applications +- [ ] Overcome technical difficulties, find solutions independently, and know when to reach out and ask for help in a constructive manner +- [ ] Plan a complex project and deliver it on time +- [ ] Feel ready to run a similar process for the team final project ## Scenario @@ -24,34 +28,34 @@ Some of the requirements below are already working in the current version of the ## Product Requirements -### Browsing and Searching +### 1. Browsing and Searching -- Users can view a list of events -- Users can search and paginate through available events +- [ ] 1.1 Users can view a list of events +- [ ] 1.2 Users can search and paginate through available events -### Authentication +### 2. Authentication -- Unauthenticated users can browse events -- Authenticated users can see their account, previous orders etc. -- Unauthorized actions result in reasonable error +- [ ] 2.1 Unauthenticated users can browse events +- [ ] 2.2 Authenticated users can see their account, previous orders etc. +- [ ] 2.3 Unauthorized actions result in reasonable error -### Shopping Cart +### 3. Shopping Cart -- Users can add tickets to their shopping cart -- Items can be added, updated, or removed -- Cart state remains consistent across the session (and beyond the session, if authenticated) +- [ ] 3.1 Users can add tickets to their shopping cart +- [ ] 3.2 Items can be added, updated, or removed +- [ ] 3.3 Cart state remains consistent across the session (and beyond the session, if authenticated) -### Checkout +### 4. Checkout -- A cart can be finalized into an order, which can no longer be changed +- [ ] 4.1 A cart can be finalized into an order, which can no longer be changed -### History and Review +### 5. History and Review -- Users can view a list of completed orders -- Users can view a specific order and its details -- Users can easily access purchased tickets +- [ ] 5.1 Users can view a list of completed orders +- [ ] 5.2 Users can view a specific order and its details +- [ ] 5.3 Users can easily access purchased tickets ## Technical Requirements @@ -71,7 +75,7 @@ You should follow the technologies, skills, tools, and stack you've learned thro ## Organisational Requirements -Follow the requirements and practices from the [Intro to Agile](../../courses/foundation/intro-to-agile/README.md) module. +Follow the requirements and practices from the [Intro to Agile](/courses/foundation/intro-to-agile/README.md) module. @@ -79,35 +83,21 @@ Follow the requirements and practices from the [Intro to Agile](../../courses/fo ### Frontend -- Trello board with organised/completed tasks -- A standalone frontend codebase -- A deployed web app +- [ ] Trello board with organised/completed tasks +- [ ] A standalone frontend codebase +- [ ] A deployed web app ### Backend -- Trello board with organised/completed tasks -- A standalone backend codebase -- Documented database schema -- Deployed API documentation -- Deployed API -- Deployed database -- Postman collection to test/demo all endpoints and example usage flows - -## Module Learning Goals - - - -By the end of this module, you will be able to: - -- [ ] TODO - -## Prerequisites - -You should have completed or understand the learning goals in the following modules before proceeding: - - +- [ ] Trello board with organised/completed tasks +- [ ] A standalone backend codebase +- [ ] Documented database schema +- [ ] Deployed API documentation +- [ ] Deployed API +- [ ] Deployed database +- [ ] Postman collection to test/demo all endpoints and example usage flows --- From 6bc0d32ba67cb6d8828d05fb248d60c1797ec47c Mon Sep 17 00:00:00 2001 From: Adam Blanchard Date: Tue, 17 Feb 2026 10:48:44 +0100 Subject: [PATCH 3/6] refine product requirements --- .../mid-specialism-project/README.md | 62 +++++++++++++------ 1 file changed, 43 insertions(+), 19 deletions(-) diff --git a/shared-modules/mid-specialism-project/README.md b/shared-modules/mid-specialism-project/README.md index be3f6f70..394807a5 100644 --- a/shared-modules/mid-specialism-project/README.md +++ b/shared-modules/mid-specialism-project/README.md @@ -28,50 +28,75 @@ Some of the requirements below are already working in the current version of the ## Product Requirements +These requirements describe the overall functionality of the app. + ### 1. Browsing and Searching - [ ] 1.1 Users can view a list of events -- [ ] 1.2 Users can search and paginate through available events +- [ ] 1.2 Users can search and paginate through events +- [ ] 1.3 Users can view individual event details (date, time, venue, description) +- [ ] 1.4 Users can see ticket availability and pricing for an event ### 2. Authentication - [ ] 2.1 Unauthenticated users can browse events - [ ] 2.2 Authenticated users can see their account, previous orders etc. -- [ ] 2.3 Unauthorized actions result in reasonable error +- [ ] 2.3 Unauthorized actions result in clear and actionable error to the user ### 3. Shopping Cart - [ ] 3.1 Users can add tickets to their shopping cart -- [ ] 3.2 Items can be added, updated, or removed -- [ ] 3.3 Cart state remains consistent across the session (and beyond the session, if authenticated) +- [ ] 3.2 Users can select ticket quantity when adding to cart +- [ ] 3.3 Items can be added, updated, or removed +- [ ] 3.4 Cart is saved across the session (and beyond the session, if authenticated) ### 4. Checkout -- [ ] 4.1 A cart can be finalized into an order, which can no longer be changed - - +- [ ] 4.1 A user must be authenticated to checkout +- [ ] 4.2 During checkout, the cart is finalized into an order, which can then no longer be changed ### 5. History and Review -- [ ] 5.1 Users can view a list of completed orders -- [ ] 5.2 Users can view a specific order and its details -- [ ] 5.3 Users can easily access purchased tickets +- [ ] 5.1 Authenticated users can view a list of completed orders +- [ ] 5.2 Authenticated users can view a specific order and its details +- [ ] 5.3 Authenticated users can easily view and show their purchased tickets + +### 6. Error Handling and UX + +- [ ] 6.1 Loading states are displayed while data is being fetched (Frontend only) +- [ ] 6.2 Meaningful error messages are shared when actions fail +- [ ] 6.3 Form inputs are validated before submission (Frontend only) + +### 7. Admin and Reporting (optional idea) + +- [ ] 7.1 Admins can view ticket sales statistics per event (e.g. tickets sold, revenue) +- [ ] 7.2 Admins can see an overview of all events and their performance ## Technical Requirements -> Frontenders do not need to implement a backend. Backenders do not need to implement a frontend. ### API Contract -For frontenders, the API will already be working and complete. For backenders, the API will have placeholders - part of the project is to design APIs, not just implement a planned version. +For frontenders, the API will already be working and complete. For backenders, the API will have placeholders - part of the project is to design APIs, not only implement planned interfaces. ### Implementation Requirements You should follow the technologies, skills, tools, and stack you've learned throughout the course. - + + +### Frontend-specific Requirements + +- [ ] App must use React Router with distinct routes (e.g., event list, event detail, cart, orders) +- [ ] Shared state (e.g., cart, user session) must use React Context + +### Backend-specific Requirements + +- [ ] Database schema must be documented with an Entity-Relationship Diagram (ERD) +- [ ] Database must use PostgreSQL +- [ ] All database queries must use parameterized queries (no SQL injection vulnerabilities) ## Organisational Requirements @@ -84,16 +109,15 @@ Follow the requirements and practices from the [Intro to Agile](/courses/foundat ### Frontend - [ ] Trello board with organised/completed tasks +- [ ] Initial design sketches - [ ] A standalone frontend codebase - [ ] A deployed web app - - ### Backend - [ ] Trello board with organised/completed tasks - [ ] A standalone backend codebase -- [ ] Documented database schema +- [ ] Documented database schema with ERD - [ ] Deployed API documentation - [ ] Deployed API - [ ] Deployed database @@ -103,14 +127,14 @@ Follow the requirements and practices from the [Intro to Agile](/courses/foundat ## Internal Planning Notes - + -We will create two apps, frontend and backend, from hyf-project-template: +We will create two apps, frontend and backend, from [hyf-project-template](https://github.com/HackYourFuture-CPH/hyf-project-template). Both courses should start with some state of runnable, working app. The starting point is up to us. They should have some code they have to "work out" at the start, just like when you start in a new job. **Backend:** - Basic API, runnable -- Initial API docs +- Initial API docs in place - Initial database **Frontend:** From c153520b0bdcf32fd56106ba11efe2ee42bda36e Mon Sep 17 00:00:00 2001 From: Adam Blanchard Date: Tue, 17 Feb 2026 11:25:36 +0100 Subject: [PATCH 4/6] restructured files --- .../mid-specialism-project/README.md | 125 ++++-------------- .../backend/technical-specification.md | 21 +++ .../frontend/technical-specification.md | 18 +++ .../product-requirements-document.md | 48 +++++++ .../temp-planning-notes.md | 16 +++ 5 files changed, 130 insertions(+), 98 deletions(-) create mode 100644 shared-modules/mid-specialism-project/backend/technical-specification.md create mode 100644 shared-modules/mid-specialism-project/frontend/technical-specification.md create mode 100644 shared-modules/mid-specialism-project/product-requirements-document.md create mode 100644 shared-modules/mid-specialism-project/temp-planning-notes.md diff --git a/shared-modules/mid-specialism-project/README.md b/shared-modules/mid-specialism-project/README.md index 394807a5..cb4f793e 100644 --- a/shared-modules/mid-specialism-project/README.md +++ b/shared-modules/mid-specialism-project/README.md @@ -24,120 +24,49 @@ Welcome to your new job! We are an events startup, and you're here to help us de - We have an existing app that you'll build on top of - it's basic so there's lots to do. - We have some strict requirements that you need to implement, but there is space for personalisation too. -Some of the requirements below are already working in the current version of the app, others will need to be implemented by you, and there are some suggestions of tasks where you can come up with additional ideas yourself. - -## Product Requirements - -These requirements describe the overall functionality of the app. - -### 1. Browsing and Searching - -- [ ] 1.1 Users can view a list of events -- [ ] 1.2 Users can search and paginate through events -- [ ] 1.3 Users can view individual event details (date, time, venue, description) -- [ ] 1.4 Users can see ticket availability and pricing for an event - -### 2. Authentication - -- [ ] 2.1 Unauthenticated users can browse events -- [ ] 2.2 Authenticated users can see their account, previous orders etc. -- [ ] 2.3 Unauthorized actions result in clear and actionable error to the user - -### 3. Shopping Cart - -- [ ] 3.1 Users can add tickets to their shopping cart -- [ ] 3.2 Users can select ticket quantity when adding to cart -- [ ] 3.3 Items can be added, updated, or removed -- [ ] 3.4 Cart is saved across the session (and beyond the session, if authenticated) - -### 4. Checkout - -- [ ] 4.1 A user must be authenticated to checkout -- [ ] 4.2 During checkout, the cart is finalized into an order, which can then no longer be changed - -### 5. History and Review - -- [ ] 5.1 Authenticated users can view a list of completed orders -- [ ] 5.2 Authenticated users can view a specific order and its details -- [ ] 5.3 Authenticated users can easily view and show their purchased tickets - -### 6. Error Handling and UX - -- [ ] 6.1 Loading states are displayed while data is being fetched (Frontend only) -- [ ] 6.2 Meaningful error messages are shared when actions fail -- [ ] 6.3 Form inputs are validated before submission (Frontend only) - -### 7. Admin and Reporting (optional idea) - -- [ ] 7.1 Admins can view ticket sales statistics per event (e.g. tickets sold, revenue) -- [ ] 7.2 Admins can see an overview of all events and their performance +## Requirements -## Technical Requirements +Familiarise yourself well with the following documents to understand what is required to complete the project. +Some of the requirements below are already working in the current version of the app, others will need to be implemented by you, and there are some suggestions of tasks where you can come up with additional ideas yourself. -### API Contract - - - -For frontenders, the API will already be working and complete. For backenders, the API will have placeholders - part of the project is to design APIs, not only implement planned interfaces. - -### Implementation Requirements - -You should follow the technologies, skills, tools, and stack you've learned throughout the course. - - - -### Frontend-specific Requirements +1. [Product Requirements Document (PRD)](./product-requirements-document.md) +1. Technical Specification (spec) + 1. [Frontend Course Spec](./frontend/technical-specification.md) + 1. [Backend Course Spec](./backend/technical-specification.md) -- [ ] App must use React Router with distinct routes (e.g., event list, event detail, cart, orders) -- [ ] Shared state (e.g., cart, user session) must use React Context -### Backend-specific Requirements +## How to organise your project -- [ ] Database schema must be documented with an Entity-Relationship Diagram (ERD) -- [ ] Database must use PostgreSQL -- [ ] All database queries must use parameterized queries (no SQL injection vulnerabilities) +Follow the requirements and practices from the [Intro to Agile](/courses/foundation/intro-to-agile/README.md) module. -## Organisational Requirements +- [ ] Work as an individual to complete the project by yourself +- [ ] Use Trello to organise your project tasks and visualise your progress +- [ ] Define all of your tasks clearly using Trello cards +- [ ] Create and prioritise your tasks at the start of each week, to have a clear idea of what will be required in that sprint +- [ ] Submit a single pull request at the end of each sprint to be reviewed by your mentors. -Follow the requirements and practices from the [Intro to Agile](/courses/foundation/intro-to-agile/README.md) module. + - +## Project delivery -## Deliverables +These are the final deliverables that you should submit by the end-of-project deadline: ### Frontend -- [ ] Trello board with organised/completed tasks +Links to the following: +- [ ] Trello board - [ ] Initial design sketches -- [ ] A standalone frontend codebase -- [ ] A deployed web app +- [ ] GitHub repo +- [ ] Deployed web app ### Backend -- [ ] Trello board with organised/completed tasks -- [ ] A standalone backend codebase -- [ ] Documented database schema with ERD +Links to the following: +- [ ] Trello board +- [ ] GitHub repo +- [ ] Database schema with ERD - [ ] Deployed API documentation -- [ ] Deployed API +- [ ] Deployed API service - [ ] Deployed database -- [ ] Postman collection to test/demo all endpoints and example usage flows - ---- - -## Internal Planning Notes - - - -We will create two apps, frontend and backend, from [hyf-project-template](https://github.com/HackYourFuture-CPH/hyf-project-template). Both courses should start with some state of runnable, working app. The starting point is up to us. They should have some code they have to "work out" at the start, just like when you start in a new job. - -**Backend:** - -- Basic API, runnable -- Initial API docs in place -- Initial database - -**Frontend:** - -- Basic frontend app, runnable -- Fully working, documented API via json-server, easily editable +- [ ] Postman collection diff --git a/shared-modules/mid-specialism-project/backend/technical-specification.md b/shared-modules/mid-specialism-project/backend/technical-specification.md new file mode 100644 index 00000000..47ba93a5 --- /dev/null +++ b/shared-modules/mid-specialism-project/backend/technical-specification.md @@ -0,0 +1,21 @@ +# Technical Specification (Spec) Backend + +## Implementation Requirements + +You should use the technologies, skills, tools, and stack you've learned throughout the course. Here are some specific requirements that you must meet in your implementation: + + + +- [ ] Database schema must be documented with an Entity-Relationship Diagram (ERD) +- [ ] Database must use PostgreSQL +- [ ] All database queries must use parameterized queries (no SQL injection vulnerabilities) + +## API + +We already have a fully functional API that you should use during your frontend development. You are welcome to make changes to it to change the data or add additional data. You can also add additional endpoints, if it is required for a new feature idea you have. However, the existing API functionality should remain in place and not break. + +We already have an API in place, but it is missing many features that you will be required to implement. You can find the API specification below, which describes what you will need to implement to complete the project. + + + + diff --git a/shared-modules/mid-specialism-project/frontend/technical-specification.md b/shared-modules/mid-specialism-project/frontend/technical-specification.md new file mode 100644 index 00000000..7cca9623 --- /dev/null +++ b/shared-modules/mid-specialism-project/frontend/technical-specification.md @@ -0,0 +1,18 @@ +# Technical Specification (Spec) Frontend + +## Implementation Requirements + +You should use the technologies, skills, tools, and stack you've learned throughout the course. Here are some specific requirements that you must meet in your implementation: + + + +- [ ] App must use React Router with distinct routes (e.g. event list, event detail, cart, orders) +- [ ] Shared state (e.g. cart, user session) must use React Context + +## API + +We already have a fully functional API that you should use during your frontend development. You are welcome to make changes to it to change the data or add additional data. You can also add additional endpoints, if it is required for a new feature idea you have. However, the existing API functionality should remain in place and not break. + + + + diff --git a/shared-modules/mid-specialism-project/product-requirements-document.md b/shared-modules/mid-specialism-project/product-requirements-document.md new file mode 100644 index 00000000..07b6bfde --- /dev/null +++ b/shared-modules/mid-specialism-project/product-requirements-document.md @@ -0,0 +1,48 @@ +# Product Requirements Document (PRD) + +These requirements describe the overall functionality of the app. Some of these are already implemented in the current app (marked with a check), the rest will need to be implemented by you. + +### 1. Browsing and Searching + +- [x] 1.1 Users can view a basic list of events +- [ ] 1.2 Users can search and paginate through events +- [ ] 1.3 Users can view individual event details (date, time, venue, description) +- [ ] 1.4 Users can see ticket availability and pricing for an event + +### 2. Authentication + +- [x] 2.1 Unauthenticated users can browse events +- [ ] 2.2 Authenticated users can see their account, previous orders etc. +- [ ] 2.3 Unauthorized actions result in clear and actionable error to the user + +### 3. Shopping Cart + +- [x] 3.1 Users can add tickets to their shopping cart +- [ ] 3.2 Users can select ticket quantity when adding to cart +- [ ] 3.3 Items can be added, updated, or removed while in the cart +- [ ] 3.4 Cart is saved across the session (and beyond the session, if authenticated) + +### 4. Checkout + +- [ ] 4.1 A user must be authenticated to checkout +- [ ] 4.2 During checkout, the cart is finalized into an order, which can then no longer be changed + +### 5. History and Review + +- [ ] 5.1 Authenticated users can view a list of completed orders +- [ ] 5.2 Authenticated users can view a specific order and its details +- [ ] 5.3 Authenticated users can easily view and show their purchased tickets + +### 6. Error Handling and UX + +- [x] 6.1 Loading states are displayed while data is being fetched (Frontend only) + - [ ] This is only implemented in the existing pages, you'll need to implement this for all the additions you make too! +- [ ] 6.2 Meaningful error messages are shared when actions fail +- [ ] 6.3 Form inputs are validated before submission (Frontend only) + +### 7. Admin and Reporting (optional idea) + + + +- [ ] 7.1 Admins can view ticket sales statistics per event (e.g. tickets sold, revenue) +- [ ] 7.2 Admins can see an overview of all events and their performance \ No newline at end of file diff --git a/shared-modules/mid-specialism-project/temp-planning-notes.md b/shared-modules/mid-specialism-project/temp-planning-notes.md new file mode 100644 index 00000000..819bb7fd --- /dev/null +++ b/shared-modules/mid-specialism-project/temp-planning-notes.md @@ -0,0 +1,16 @@ +## Temp Planning Notes + + + +We will create two apps, frontend and backend, from [hyf-project-template](https://github.com/HackYourFuture-CPH/hyf-project-template). Both courses should start with some state of runnable, working app. The starting point is up to us. They should have some code they have to "work out" at the start, just like when you start in a new job. + +**Backend:** + +- Basic API, runnable +- Initial API docs in place +- Initial database + +**Frontend:** + +- Basic frontend app, runnable +- Fully working, documented API via json-server, easily editable \ No newline at end of file From 5ff395e2f37fe3611ae33e079ff0d2b51c8dfb1c Mon Sep 17 00:00:00 2001 From: Adam Blanchard Date: Tue, 17 Feb 2026 11:35:10 +0100 Subject: [PATCH 5/6] added weekly plan template --- .../backend/weekly-plan.md | 23 +++++++++++++++++++ .../frontend/weekly-plan.md | 23 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 shared-modules/mid-specialism-project/backend/weekly-plan.md create mode 100644 shared-modules/mid-specialism-project/frontend/weekly-plan.md diff --git a/shared-modules/mid-specialism-project/backend/weekly-plan.md b/shared-modules/mid-specialism-project/backend/weekly-plan.md new file mode 100644 index 00000000..19a5a58e --- /dev/null +++ b/shared-modules/mid-specialism-project/backend/weekly-plan.md @@ -0,0 +1,23 @@ +# Weekly plan + +Here is a guideilne of the outcomes you should reach each week to stay on track. + + + +## Week 1 Sprint +- [ ] (e.g. start with some planning tasks) + +## Week 2 Sprint + +## Week 3 Sprint + +## Week 4 Sprint + +## Week 5 Sprint +- [ ] (e.g. end with some deploying tasks) \ No newline at end of file diff --git a/shared-modules/mid-specialism-project/frontend/weekly-plan.md b/shared-modules/mid-specialism-project/frontend/weekly-plan.md new file mode 100644 index 00000000..9a14dcd6 --- /dev/null +++ b/shared-modules/mid-specialism-project/frontend/weekly-plan.md @@ -0,0 +1,23 @@ +# Weekly plan + +Here is a guideilne of the outcomes you should reach each week to stay on track. + + + +## Week 1 Sprint +- [ ] (e.g. start with some planning tasks) + +## Week 2 Sprint + +## Week 3 Sprint + +## Week 4 Sprint + +## Week 5 Sprint +- [ ] (e.g. end with some deploying tasks) \ No newline at end of file From e2c834413a878b938769c68d7a50225f00337296 Mon Sep 17 00:00:00 2001 From: Adam Blanchard Date: Tue, 17 Feb 2026 11:43:33 +0100 Subject: [PATCH 6/6] fixed linting --- .../mid-specialism-project/README.md | 7 ++++--- .../backend/weekly-plan.md | 4 +++- .../frontend/weekly-plan.md | 4 +++- .../product-requirements-document.md | 18 +++++++++--------- .../temp-planning-notes.md | 4 ++-- 5 files changed, 21 insertions(+), 16 deletions(-) diff --git a/shared-modules/mid-specialism-project/README.md b/shared-modules/mid-specialism-project/README.md index cb4f793e..88cb8f16 100644 --- a/shared-modules/mid-specialism-project/README.md +++ b/shared-modules/mid-specialism-project/README.md @@ -32,9 +32,8 @@ Some of the requirements below are already working in the current version of the 1. [Product Requirements Document (PRD)](./product-requirements-document.md) 1. Technical Specification (spec) - 1. [Frontend Course Spec](./frontend/technical-specification.md) - 1. [Backend Course Spec](./backend/technical-specification.md) - + 1. [Frontend Course Spec](./frontend/technical-specification.md) + 1. [Backend Course Spec](./backend/technical-specification.md) ## How to organise your project @@ -55,6 +54,7 @@ These are the final deliverables that you should submit by the end-of-project de ### Frontend Links to the following: + - [ ] Trello board - [ ] Initial design sketches - [ ] GitHub repo @@ -63,6 +63,7 @@ Links to the following: ### Backend Links to the following: + - [ ] Trello board - [ ] GitHub repo - [ ] Database schema with ERD diff --git a/shared-modules/mid-specialism-project/backend/weekly-plan.md b/shared-modules/mid-specialism-project/backend/weekly-plan.md index 19a5a58e..9651e5fc 100644 --- a/shared-modules/mid-specialism-project/backend/weekly-plan.md +++ b/shared-modules/mid-specialism-project/backend/weekly-plan.md @@ -11,6 +11,7 @@ For some context on how we ordered the milestones in the old meal sharing projec --> ## Week 1 Sprint + - [ ] (e.g. start with some planning tasks) ## Week 2 Sprint @@ -20,4 +21,5 @@ For some context on how we ordered the milestones in the old meal sharing projec ## Week 4 Sprint ## Week 5 Sprint -- [ ] (e.g. end with some deploying tasks) \ No newline at end of file + +- [ ] (e.g. end with some deploying tasks) diff --git a/shared-modules/mid-specialism-project/frontend/weekly-plan.md b/shared-modules/mid-specialism-project/frontend/weekly-plan.md index 9a14dcd6..13e94488 100644 --- a/shared-modules/mid-specialism-project/frontend/weekly-plan.md +++ b/shared-modules/mid-specialism-project/frontend/weekly-plan.md @@ -11,6 +11,7 @@ For some context on how we ordered the milestones in the old meal sharing projec --> ## Week 1 Sprint + - [ ] (e.g. start with some planning tasks) ## Week 2 Sprint @@ -20,4 +21,5 @@ For some context on how we ordered the milestones in the old meal sharing projec ## Week 4 Sprint ## Week 5 Sprint -- [ ] (e.g. end with some deploying tasks) \ No newline at end of file + +- [ ] (e.g. end with some deploying tasks) diff --git a/shared-modules/mid-specialism-project/product-requirements-document.md b/shared-modules/mid-specialism-project/product-requirements-document.md index 07b6bfde..f65fad15 100644 --- a/shared-modules/mid-specialism-project/product-requirements-document.md +++ b/shared-modules/mid-specialism-project/product-requirements-document.md @@ -2,47 +2,47 @@ These requirements describe the overall functionality of the app. Some of these are already implemented in the current app (marked with a check), the rest will need to be implemented by you. -### 1. Browsing and Searching +## 1. Browsing and Searching - [x] 1.1 Users can view a basic list of events - [ ] 1.2 Users can search and paginate through events - [ ] 1.3 Users can view individual event details (date, time, venue, description) - [ ] 1.4 Users can see ticket availability and pricing for an event -### 2. Authentication +## 2. Authentication - [x] 2.1 Unauthenticated users can browse events - [ ] 2.2 Authenticated users can see their account, previous orders etc. - [ ] 2.3 Unauthorized actions result in clear and actionable error to the user -### 3. Shopping Cart +## 3. Shopping Cart - [x] 3.1 Users can add tickets to their shopping cart - [ ] 3.2 Users can select ticket quantity when adding to cart - [ ] 3.3 Items can be added, updated, or removed while in the cart - [ ] 3.4 Cart is saved across the session (and beyond the session, if authenticated) -### 4. Checkout +## 4. Checkout - [ ] 4.1 A user must be authenticated to checkout - [ ] 4.2 During checkout, the cart is finalized into an order, which can then no longer be changed -### 5. History and Review +## 5. History and Review - [ ] 5.1 Authenticated users can view a list of completed orders - [ ] 5.2 Authenticated users can view a specific order and its details - [ ] 5.3 Authenticated users can easily view and show their purchased tickets -### 6. Error Handling and UX +## 6. Error Handling and UX - [x] 6.1 Loading states are displayed while data is being fetched (Frontend only) - - [ ] This is only implemented in the existing pages, you'll need to implement this for all the additions you make too! + - [ ] This is only implemented in the existing pages, you'll need to implement this for all the additions you make too! - [ ] 6.2 Meaningful error messages are shared when actions fail - [ ] 6.3 Form inputs are validated before submission (Frontend only) -### 7. Admin and Reporting (optional idea) +## 7. Admin and Reporting (optional idea) - [ ] 7.1 Admins can view ticket sales statistics per event (e.g. tickets sold, revenue) -- [ ] 7.2 Admins can see an overview of all events and their performance \ No newline at end of file +- [ ] 7.2 Admins can see an overview of all events and their performance diff --git a/shared-modules/mid-specialism-project/temp-planning-notes.md b/shared-modules/mid-specialism-project/temp-planning-notes.md index 819bb7fd..b999b79b 100644 --- a/shared-modules/mid-specialism-project/temp-planning-notes.md +++ b/shared-modules/mid-specialism-project/temp-planning-notes.md @@ -1,4 +1,4 @@ -## Temp Planning Notes +# Temp Planning Notes @@ -13,4 +13,4 @@ We will create two apps, frontend and backend, from [hyf-project-template](https **Frontend:** - Basic frontend app, runnable -- Fully working, documented API via json-server, easily editable \ No newline at end of file +- Fully working, documented API via json-server, easily editable