Back-end for Driven.t, an event management solution.
Driven.t is a web browser application with which you can manage every single aspect of your event.
- Clone this repository
- Install all dependencies
npm i
- Create a PostgreSQL database with whatever name you want
- Configure the
.env.development
file using the.env.example
file (see "Running application locally or inside docker section" for details) - Run all migrations
npm run dev:migration:run
- Seed db
npm run dev:seed
- Run the back-end in a development environment:
npm run dev
- Follow the steps in the last section
- Configure the
.env.test
file using the.env.example
file (see "Running application locally or inside docker" section for details) - Run all migrations:
npm run test:migration:run
- Run test:
npm run test
npm run build
npm start
Before running migrations make sure you have a postgres db running based on .env.development
or .env.test
file for each environment. You can start a postgres instance by typing npm run dev:postgres
or npm run test:postgres
. The host name is the name of the postgres container inside docker-compose file if you are running the application inside a docker container or localhost if you are running it locally.
You can operate on databases for different environments, but it is necessary to populate correct env variables for each environment first, so in order to perform db operations type the following commands:
-
npm run dev:migration:run
- run migrations for development environment by loading envs from .env.development file. It uses dotenv-cli to load envs from .env.development file. -
npm run test:migration:run
- the same, but for test environment -
npm run dev:migration:generate -- --name ATOMIC_OPERATION_NAME
- generate and run migration and prisma client for development environment by loading envs from .env.development file. ReplaceATOMIC_OPERATION_NAME
by the name of the migration you want to generate.
There are several things you need to do when you add new ENV VARIABLES:
- Add them to
.env.example
file - Add them to your local
.env.development
and.env.test
files