---
# System prepended metadata

title: Individual Project

---

# Individual Project

During second part of the course you will be creating your own project.

## Restrictions

1. Must be a HTTP server.
2. Several functionalities. Your final result should include several
working functionalities defined by you.
3. External storage. Your project should use and work with an external storage. For example, store some state in the database (ex. PostgreSQL) or in some cache (ex. Redis)
4. Clear README.md with how to start your project. You may consider using `Docker` and `Docker Compose`
5. Clear README.md with how to use your project. You may consider using Swagger, or similar tools

You are free to choose functionality to implement.

## Grading

You may request __2__ intermediate reviews on your project that will not affect your final grading.

Try to find a balance between the written functionality and software quality attributes.

We will grade your project with the following criteria:
- Correctness in terms of stated functionality
- Correctness in terms of usage of libraries and tools
- Readable code organization
- Tests

## Submission

You must submit a Github / Gitlab repository with the following added accounts:

Github Accounts:
1. [@FireFoxIL](https://github.com/FireFoxIL/)
2. [@vilunov](https://github.com/vilunov/)
3. [@nkalinskiy](https://github.com/nkalinskiy)

Gitlab Accounts:
1. [@FireFoxIL](https://gitlab.com/FireFoxIL)
2. [@vilunov](https://gitlab.com/vilunov)


## Links

- Project Example: https://github.com/pauljamescleary/scala-pet-store
