# 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.

## Project Learning Goals

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

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.

## Artifacts

Familiarise yourself well with the following links 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.

1. [Weekly Plan](/course-content/backend/events-startup-project/weekly-plan.md) - A guide for what to build each week
2. [Requirements](/course-content/backend/events-startup-project/requirements.md) - The checklist you need to complete by the end of the project
3. [Project Template](https://github.com/HackYourFuture-CPH/mid-backend-project-skeleton) - The codebase you need to fork to get started

## How to organise your project

Follow the requirements and practices from the [Intro to Agile](/course-content/foundation/intro-to-agile.md) module.

* [ ] 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.

## Project delivery

These are the final deliverables that you should submit by the end-of-project deadline.

Links to the following:

* [ ] Trello board
* [ ] GitHub repo
* [ ] Database schema with ERD
* [ ] Deployed API documentation
* [ ] Deployed API service
* [ ] Deployed PostgreSQL database
* [ ] Postman collection


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://program.hackyourfuture.dk/course-content/backend/events-startup-project.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
