Documentation > Overview

Overview

Citadel Dashboard is a security-first, modular social media management platform designed for enterprises that need to manage multiple social media accounts across different platforms while maintaining strict security and compliance standards.

Last updated: November 2025 10 min read

Project Structure

This repository follows a clean, modular structure:

citadel-dashboard/
├── backend/              # Backend server (Node.js, Express, TypeScript)
├── frontend/             # Frontend application (React, TypeScript, Vite)
├── infra/               # Infrastructure files (migrations, configs)
└── package.json         # Root monorepo configuration

Quick Start

Prerequisites

  • Docker and Docker Compose
  • Node.js 16+
  • Git

1. Clone the repository

git clone https://github.com/naviNBRuas/citadel-dashboard.git
cd citadel-dashboard

2. Start development environment

This spins up Postgres, Redis, and Vault.

docker-compose up -d

3. Install dependencies

npm install

4. Run development servers

Start both backend and frontend in development mode:

npm start

Or run them separately:

# In one terminal
npm run dev:backend

# In another terminal
npm run dev:frontend

Access the application at http://localhost:3000.

Backend

The backend is a Node.js/Express server built with TypeScript. It provides RESTful APIs for all platform functionality.

Key Features

  • JWT-based authentication with refresh tokens
  • Role-based access control (RBAC)
  • Social media integration adapters
  • Credential storage in HashiCorp Vault with encryption
  • Background job processing with BullMQ

Backend Structure

backend/
├── src/                 # Source code
│   ├── services/        # Business logic
│   ├── middleware/      # Express middleware
│   └── config/          # Configuration files
├── scripts/             # Utility scripts
├── tests/               # Test files
└── package.json         # Backend package configuration

Frontend

The frontend is a modern React dashboard built with TypeScript and Vite. It features:

  • Responsive design that works on desktop, tablet, and mobile
  • Dark/light mode based on system preferences
  • Role-based navigation and feature access
  • Enterprise feature protection with license validation

Frontend Structure

frontend/
├── src/                 # Source code
│   ├── features/        # Feature-based modules
│   ├── shared/          # Shared components and utilities
│   └── services/        # API service clients
├── public/              # Static assets
└── package.json         # Frontend package configuration

Infrastructure

Infrastructure files for database migrations and deployment configurations.

infra/
├── migrations/          # Database migration scripts
└── db/                  # Database configuration files

Development

Available Scripts

  • npm start - Start both backend and frontend in development mode
  • npm run dev:backend - Start backend server in development mode
  • npm run dev:frontend - Start frontend dashboard in development mode
  • npm run build - Build both backend and frontend for production
  • npm test - Run tests for all workspaces

Environment Variables

The backend requires several environment variables to be set. See backend/.env.example for a complete list.

Documentation

For detailed documentation, see:

Contributing

We welcome contributions! Please see our Contributing Guide for details on how to get started.

Note: Please respect the boundaries between the AGPLv3 core and proprietary enterprise addons when submitting PRs.

License

This project is licensed under the AGPLv3 License - see the License file for details.

Support

For support, please contact:

See Security Policy for our security policy.

Support Citadel Development

Help us continue improving Citadel by buying us a coffee!

Buy Me a Coffee