Welcome to the Hermes Core Repository!
This repository contains the core components of the Hermes Situation Room project, including the backend, frontend, and Docker setup for both development and production environments.
- Project Overview
- Repository Structure
- Development Setup
- Full Local Docker For Stage Testing Purposes
- License
Hermes Situation Room is a secure platform that connects activists with journalists, enabling the anonymous, trusted, and safe exchange of sensitive information.
It consists of:
- Frontend — a user-friendly web interface for interacting with the platform.
- Backend — a robust API handling data processing, storage, and business logic.
- Database — a Microsoft SQL Server instance for data persistence.
This repository contains all the necessary code and configurations to develop, test, and deploy the platform.
core/
├── LICENSE # License file
├── .github/workflows/ # CI/CD workflows for GitHub Actions
│ ├── docker-build-publish-backend.yml
│ ├── docker-build-publish-frontend.yml
│ └── quality-gate.yml
├── docs/ # Documentation files
│ └── .gitkeep
├── src/ # Source code
│ ├── backend/ # Backend services
│ │ ├── Hermes.SituationRoom.Data/
│ │ ├── Hermes.SituationRoom.Domain/
│ │ ├── Hermes.SituationRoom.Shared/
│ │ ├── Hermes.SituationRoom.Web/
│ │ └── Hermes.SituationRoom.Web.sln
│ └── frontend/ # Frontend services
└── compose.yaml # Docker Compose configuration
Welcome to the Hermes Situation Room development guide.
Follow these steps to get your environment up and running smoothly.
Before starting, make sure you have the following installed:
- Docker — Installed and running.
- .NET SDK — Required for backend development.
- Node.js — Required for frontend development.
-
Navigate to the backend directory:
cd src/backend -
Open the solution file in your IDE:
Hermes.SituationRoom.Web.sln -
Run it locally in a Docker container:
docker compose up --build -d
-
Navigate to the frontend directory:
cd src/frontend -
Install dependencies:
yarn install
-
Start the frontend:
yarn start
The project uses Docker for both development and production environments.
The Docker Compose configuration is located in:
delivery/compose.yaml
| Service | Description |
|---|---|
frontend-prod |
Production-ready frontend service |
api-prod |
Production-ready backend service |
mssql-prod |
Microsoft SQL Server database |
Navigate to the delivery directory:
cd delivery
docker compose up --buildOnce running, access the services:
- Frontend: http://localhost:13400
- Backend (Swagger): http://localhost:13500/swagger
To stop all running containers:
docker compose downThis project is licensed under the terms of the LICENSE file.
For questions or issues, please open an issue in this repository.
✨ Built with passion by the Hermes Team