InventoryTracker

Developer documentation

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 :

Table of contents

Getting started

Before you begin

Before you begin, you should have a basic understanding of the following:

Prerequisites

Installation

  1. Clone the repository

     git clone git@github.com:Vivelis/InventoryTracker.git
    
  2. Move to the project directory

     cd InventoryTracker
    
  3. Deploy the project locally using Docker Compose

     docker-compose up --build
    

Usage

Learn more

Project structure

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

Interactions

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.

Networking

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.

Technologies

The project uses the following technologies: