This project is a coding test.
Instructions are in the README_en-EN.md file. The goal to build a product management back end to showcase coding abilities, decision making and methodologies.
The main
branch of the project is compatible with docker-compose 1.29 syntax: docker-compose
.
The docker-compose-v2
branch provides compatibility with version 2.2 syntax: docker compose
.
- On a Linux+GNU machine, WSL or Linux VM.
- Clone the repository:
git clone https://github.com/my-opencode/product-management-demo.git
- Open this clone directory:
cd product-management-demo
- Confirm that you have GNU make installed:
make --version
- Run:
make start;
For convenience, I provide a makefile
with commands for most common actions.
A Makefile is a text file in which we can define named command collections (later referenced as macro for clarity).
Macros can be called withmake macro-name
in a terminal.
Try make help
or open the makefile
for more information about the macros.
If you do not have the ability to run make commands, simply open the file in a text editor to see which commands are used.
The macros in the Makefile are for bash and have not been tested outside of a GNU+Linux environment. On Windows or MacOS I strongly recommend using Linux WSL or a VM.
NPM is required
make test-back
or
cd back
npm ci
npm run test
Unit & Integration tests are run automatically on github when changes are pushed to the back or docker-entrypoint-initdb.d sub directories.
See how the project has been planned in 001-planification.md.
More:
- List of tasks in 008-tasks.md.
- List of core features in 004-core-features.md.
- List of optional features in 005-optional-features.md.
- List of RC checks in 006-optional-features.md.
More:
- Find the OpenAPI schema in openapi.yaml.