Onyx is a software solution that digitally supports in-person conferences. It enables organizers to manage key planning aspects and visualize relevant information such as room occupancy or booking statistics. Attendees gain easy access to digital supplementary materials and important location information. At the same time, the platform enables interactive participation in the conference.
- Prerequisites
- Dependency Order
- Step 1: Start the Database
- Step 2: Configure Backend Environment Variables
- Step 3: Configure Frontend Environment Variables
- Step 4: Install Packages and Start Development Environment
- Docker Setup for Development
- Stopping Containers
Make sure Docker and Docker Compose are installed on your system. If not, you can download and install them here: Additionally, Node.js is required for running the development environment without Docker.
- Docker installation
- Docker Compose installation
- Node.js installation
Onyx requires a PostgreSQL database for the backend to work properly. Therefore, the order of dependencies is important:
The correct order is: - Start the database - Enter the database
credentials into the backend .env file - Start the backend - Create
the .env.local file for the frontend - Start the frontend
A ready-to-use database can be started with Docker Compose. Navigate to
the root folder of the project where the file docker-compose.dev.yml
is located:
Start only the database service:
docker compose -f docker-compose.dev.yml up -d --build dbAlternatively, run in attached mode for debugging and logs:
docker compose -f docker-compose.dev.yml up --build dbTo stop the containers:
docker-compose -f docker-compose.dev.yml stopTo delete the database:
docker-compose -f docker-compose.dev.yml down-
Navigate to the
backendfolder:cd backend -
Rename the
dev.envfile to.env:cp .env.dev .env
-
Optionally change the values if you use different DBs: Open the
.envfile and enter values such as:APP_PORT=3000 DB_HOST=localhost DB_PORT=5432 DB_USER=postgres DB_PASS=password DB_NAME=onyx_db DB_SCHEMA=public JWT_SECRET=007 NODE_ENV=development
Note: These values are examples and suitable for development only. For production environments, adjust them accordingly.
-
Navigate to the
frontendfolder:cd frontend -
Copy
.env.exampleto.env.local:cp .env.example .env.local
To start the development environment, follow these steps:
Recommendation: Open two terminals --- one for the frontend and one for the backend.
cd backendInstall packages:
npm installStart the development server:
npm run start:devIn the second terminal:
cd frontendInstall packages:
npm installStart the frontend:
npm run dev-
Navigate to the project's root folder where
docker-compose.dev.ymlis located:cd /path/to/project -
Start the development environment with Docker Compose:
docker-compose -f docker-compose.dev.yml up --build
Or in detached mode:
docker-compose -f docker-compose.dev.yml up -d --build
To stop the containers:
docker-compose -f docker-compose.dev.yml stop
-
Open your browser and navigate to:
- Backend: Port
3000
http://localhost:3000 - Frontend: Port
80
http://localhost
- Backend: Port
To stop all containers:
docker-compose -f docker-compose.dev.yml stopTo stop and remove everything:
docker-compose -f docker-compose.dev.yml downAdditional information and resources can be found in the following links: