This is a web application designed to manage and document scenarios using the Scenario Management approach by Jürgen Gausemeier. The application is built with Next.js for the frontend and Node.js with Express for the backend.
- Create, read, update, and delete scenarios
- Perform complex scenario calculations
- User-friendly interface with Tailwind CSS
- Server-side rendering and static site generation with Next.js
- RESTful API with Node.js and Express
- Frontend: Next.js, React, Tailwind CSS
- Backend: Node.js, Express, TypeScript
- Database: PostgreSQL
- Tools: Docker, Git, GitHub Actions
Before you begin, ensure you have met the following requirements:
- Node.js (v14 or later)
- npm (v6 or later)
- Docker (optional, for containerization)
- A running PostgreSQL (v15 or later) instance
To run the app in production you can use the Docker Stack provided in the repository. To run the app in development mode, follow the steps below.
Clone the repository to your local machine:
git clone https://github.com/WWI2021G/scenario-manager.git
cd scenario-manager
Setup PostgreSQL with the user and database you want to use. (See documentation)
cd backend/
# Install dependencies
npm i
# Create and populate the `.env` file in the root of the backend directory.
touch .env
vim .env
# Run the app
npm run dev
The following information needs to be saved in the .env
file to correctly use your PostgreSQL database:
DB_HOST=localhost
DB_PORT=5432
DB_DATABASE=your_database
DB_USER=your_user
DB_PASSWORD=your_password
cd frontend/
# Install dependencies
npm i
# Run the app
npm run dev
To run the application with Docker, you can use the provided Docker Stack. The stack will start the frontend, backend, and PostgreSQL database in separate containers.
Ensure that you have Docker installed on your machine. You can download Docker Desktop from the official website. On linux you can install docker with your package manager.
# Run the doocker compose file in the root dir of the Repository
docker-compose up --build
# Or if docker coimpose is not installed but docker is
docker compose up --build
- Fix the distribution calculation of raw scenarios
- Implement delete functions for relevant entities
- Fix css inconsistencies
- Optimize heavy calculations like clustering
- Implement user authentication
Main contributors to this project are:
Minor contributions were made by: