Long Start
Feeling adventurous? Here are the description and explanation of the underlying tools that are used to make the project run.
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 Remix.run
backend (API/Websockets) built with Nestjs
database access/migrations built with Prisma
All of the packages are written in TypeScript.
The repository
The project code is stored in a repository on the GitHub platform. It's built using a "mono-repo" approach meaning that one repository can host multiple different packages. In our case, Progressively is using Lerna to help manage the dependencies between these packages.
What has to be done to start the project?
Get the project locally
Create
.envfiles for thefrontendandbackendpackagesStart Postgres
Start Redis
Setup the monorepo
Create Postgres tables
Start the frontend & backend project
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/progressivelyCreate .env files for the frontend and backend packages
.env files for the frontend and backend packagesProgressively 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/.envStart Postgres
You can decide to install Postgres from its website or you can start it with docker using the following command:
# 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 postgresStart Redis
You can decide to install Redis from its website or you can start it with docker using the following command:
$ docker run -it --rm --name progressively-redis -p 6379:6379 -d redisSetup the monorepo
The following command will install the project dependencies and create the links between the different packages of the monorepo:
$ pnpm run setupCreate Postgres tables
The following command will leverage Prisma to create the tables that Progressively needs in Postgres. You should only have to run this command once.
$ pnpm run db:prepareStart the backend & frontend project
At the project run, you can start the frontend and the backend project in dev mode:
$ pnpm run devThe backend is now available locally at http://localhost:4000.
Follow the onboarding steps
Go to http://localhost:3000/welcome and let you drive in the onboarding steps to create your Admin User and your first project.
Last updated