Welcome to the developer documentation of the InventoryTracker project.
This documentation is intended for developers who want to contribute to the project.
If you are a new contributor, you should start by reading the getting started section.
If you need some precise information, see the following sections :
Before you begin, you should have a basic understanding of the following:
Clone the repository
git clone git@github.com:Vivelis/InventoryTracker.git
Move to the project directory
cd InventoryTracker
Deploy the project locally using Docker Compose
docker-compose up --build
The project is structured as follows:
docker-compose.yml
├── /back
│ ├── Dockerfile
│ ├── Dockerfile.dev
│ ├── app.js
├── /front
│ ├── Dockerfile
│ ├── Dockerfile.dev
│ ├── /src
│ ├── main.ts
├── /docs
│ ├── developer_documentation/
│ ├── user_documentation/
│ ├── index.md
├── docker-compose.yml
├── docker-compose.dev.yml
Project structure diagram
back
: Runs the REST API server to communicate with the database.front
: Runs the web server seen by the user.docs
: Contains the documentation of the project.docker-compose.yml
: The main file to deploy the project in production mode.docker-compose.dev.yml
: The main file to deploy the project in development mode.The following diagram shows the interactions between the different parts of the project:
+-----------+ +----------+ +------------+
| Front | <---> | Back | <---> | DataBase |
+-----------+ +----------+ +------------+
Interactions diagram
The front communicates with the back using the REST API.
The back communicates with the database using the database driver.
The database stores the data.
The following diagram shows the networking of the project:
External ports: 4200 3000 8080
| | |
+-----------+ +----------+ +------------+ +------------+
| Front | | Back | <---> | DataBase | <---> | Adminer |
+-----------+ +----------+ +------------+ +------------+
Networking diagram
The front is accessible on the World Wide Web at port 4200. The back is accessible on the World Wide Web at port 3000. The database isn’t accessible on the World Wide Web. The adminer is accessible on the World Wide Web at port 8080.
The back and the adminer can communicate with the database using the internal docker network called back-net.
The project uses the following technologies: