Documentation
  • Introduction
  • Getting Started
    • Quick Start
    • Medium Start
    • Long Start
  • Developpers
    • SDKs
      • JavaScript (web)
      • Node.js
      • React
      • PHP
      • Go
      • Python
    • Customization
      • Backend environment variables
      • Frontend environment variables
  • Community
    • Github
    • Contribution
Powered by GitBook
On this page
  • The technical stack
  • The repository
  • What has to be done to start the project?
  • Let's get into it, step by step
  1. Getting Started

Long Start

Feeling adventurous? Here are the description and explanation of the underlying tools that are used to make the project run.

PreviousMedium StartNextSDKs

Last updated 2 years ago

The technical stack

Progressively is one product that needs multiple tools to run on different platforms. Here is a list of what is needed to make it run from the user interface until finally reaches the databases.

  • frontend (dashboard): built with

  • backend (API/Websockets) built with

  • database access/migrations built with

  • databases: and (for WebSocket backend)

All of the packages are written in .

The repository

The project code is stored in . It's built using a "mono-repo" approach meaning that one repository can host multiple different packages. In our case, Progressively is using to help manage the dependencies between .

What has to be done to start the project?

  1. Get the project locally

  2. Create .env files for the frontend and backend packages

  3. Start Postgres

  4. Start Redis

  5. Setup the monorepo

  6. Create Postgres tables

  7. Start the frontend & backend project

  8. Follow the onboarding steps

Let's get into it, step by step

Get the project locally

In your favorite terminal, clone the project from GitHub

git clone https://github.com/progressively-crew/progressively

Create .env files for the frontend and backend packages

Progressively comes with two files called .env.example containing example values that you have to modify. Also Progressively only knows how to deal with .env files but not with .env.example ones.

With the following, you will copy the .env.example file into a .env one that Progressively will use.

$  cp ./packages/backend/.env.example ./packages/backend/.env
$  cp ./packages/frontend/.env.example ./packages/frontend/.env

Start Postgres

# this will start Postgres in a local container with a dummy password.
# keep in mind that you can change the password BUT you will have to modify
$ docker run --name progressively-db -e POSTGRES_PASSWORD=admin -e POSTGRES_USER=admin -e POSTGRES_DB=progressively -p 5432:5432 -d postgres

Start Redis

$ docker run -it --rm --name progressively-redis -p 6379:6379 -d redis

Redis is used to handle WebSockets at scale in case you want to start Progressively on multiple machines.

Setup the monorepo

The following command will install the project dependencies and create the links between the different packages of the monorepo:

$ pnpm run setup

Create Postgres tables

$ pnpm run db:prepare

Start the backend & frontend project

At the project run, you can start the frontend and the backend project in dev mode:

$ pnpm run dev

Follow the onboarding steps

You can decide to install from its website or you can start it with docker using the following command:

You can decide to install from its website or you can start it with docker using the following command:

The following command will leverage to create the tables that Progressively needs in Postgres. You should only have to run this command once.

The backend is now available locally at .

Go to and let you drive in the onboarding steps to create your Admin User and your first project.

Remix.run
Nestjs
Prisma
Postgres
Redis
TypeScript
a repository on the GitHub platform
Lerna
these packages
Postgres
Redis
Prisma
http://localhost:4000
http://localhost:3000/welcome