Skip to content

MarvMa/onyx

Repository files navigation

Onyx

image

Short description

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.

Development Setup

Table of Contents

  1. Prerequisites
  2. Dependency Order
  3. Step 1: Start the Database
  4. Step 2: Configure Backend Environment Variables
  5. Step 3: Configure Frontend Environment Variables
  6. Step 4: Install Packages and Start Development Environment
  7. Docker Setup for Development
  8. Stopping Containers

Prerequisites

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

Dependency Order

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

Step 1: Start the Database

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 db

Alternatively, run in attached mode for debugging and logs:

docker compose -f docker-compose.dev.yml up --build db

To stop the containers:

docker-compose -f docker-compose.dev.yml stop

To delete the database:

docker-compose -f docker-compose.dev.yml down

Step 2: Configure Backend Environment Variables

  1. Navigate to the backend folder:

    cd backend
  2. Rename the dev.env file to .env:

    cp .env.dev .env
  3. Optionally change the values if you use different DBs: Open the .env file 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.

Step 3: Configure Frontend Environment Variables

  1. Navigate to the frontend folder:

    cd frontend
  2. Copy .env.example to .env.local:

    cp .env.example .env.local

Step 4: Install Packages and Start Development Environment

To start the development environment, follow these steps:

Recommendation: Open two terminals --- one for the frontend and one for the backend.

Backend

cd backend

Install packages:

npm install

Start the development server:

npm run start:dev

Frontend

In the second terminal:

cd frontend

Install packages:

npm install

Start the frontend:

npm run dev

Docker Setup for Development

  1. Navigate to the project's root folder where docker-compose.dev.yml is located:

    cd /path/to/project
  2. 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
  3. Open your browser and navigate to:

Stopping Containers

To stop all containers:

docker-compose -f docker-compose.dev.yml stop

To stop and remove everything:

docker-compose -f docker-compose.dev.yml down

Additional information and resources can be found in the following links:

About

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages