Skip to content

Repository files navigation

Central Command - Enterprise Portal Management System

A comprehensive enterprise portal management system built with React, TypeScript, and .NET Core, organized as a monorepo for optimal development experience.

πŸ—οΈ Architecture

This project uses a monorepo structure managed with npm workspaces and Turbo for efficient builds.

central-command/
β”œβ”€β”€ apps/                   # Applications
β”‚   β”œβ”€β”€ web/               # React frontend application
β”‚   └── api/               # Backend services
β”‚       β”œβ”€β”€ CentralCommand.Api/      # Main API service
β”‚       └── CentralCommand.MockApi/  # Mock API for development
β”œβ”€β”€ packages/              # Shared packages
β”‚   β”œβ”€β”€ shared-types/     # TypeScript types shared across projects
β”‚   └── ui-components/    # Shared React components
β”œβ”€β”€ docs/                  # Documentation
β”‚   β”œβ”€β”€ api/              # API documentation
β”‚   β”œβ”€β”€ architecture/     # Architecture decisions
β”‚   └── prototype/        # HTML prototypes
β”œβ”€β”€ scripts/              # Build and deployment scripts
└── docker/               # Docker configurations

πŸš€ Quick Start

Prerequisites

  • Node.js 18+ and npm 9+
  • .NET 8.0 SDK
  • Git

Installation

# Clone the repository
git clone https://github.com/your-org/central-command.git
cd central-command

# Install all dependencies
npm install
npm run install:all

Development

# Run all services (recommended)
npm run dev:all

# Or run services individually
npm run dev:web    # Start React app only
npm run dev:api    # Start Mock API only

Access Points

πŸ“¦ Project Structure

Apps

Web (apps/web)

  • Modern React 19 application
  • TypeScript 5.x with strict mode
  • Vite for fast development
  • TailwindCSS for styling
  • Zustand for state management
  • TanStack Query for server state

API (apps/api)

  • CentralCommand.Api: Production API service
  • CentralCommand.MockApi: Development mock API with realistic data
    • SignalR for real-time updates
    • In-memory data storage
    • Bogus for data generation

Packages

Shared Types (packages/shared-types)

Shared TypeScript definitions used across web and API projects.

UI Components (packages/ui-components)

Reusable React components that can be shared across multiple frontend applications.

πŸ› οΈ Available Scripts

Root Level Commands

# Development
npm run dev          # Start web app
npm run dev:all      # Start all services
npm run dev:web      # Start web app only
npm run dev:api      # Start API only

# Building
npm run build        # Build web app
npm run build:all    # Build everything
npm run build:web    # Build web app only
npm run build:api    # Build API only

# Testing
npm run test         # Run tests
npm run test:e2e     # Run E2E tests

# Code Quality
npm run lint         # Lint code
npm run format       # Format code with Prettier

# Maintenance
npm run clean        # Clean all build artifacts

πŸ§ͺ Testing

# Unit tests
npm run test

# E2E tests with Playwright
npm run test:e2e

# Visual regression tests
npm run test:visual

# Test with UI
npm run test:ui

πŸ“š Documentation

πŸƒβ€β™‚οΈ Features

Portal Management

  • Real-time portal monitoring
  • Health check configuration
  • Metrics tracking and visualization
  • Alert management

Incident Management

  • Create and track incidents
  • Severity levels and prioritization
  • Comment system
  • Resolution tracking

Dashboard Features

  • Real-time metrics updates via SignalR
  • Command palette (Cmd/Ctrl + K)
  • Dark/Light theme support
  • Responsive design
  • Keyboard shortcuts

Security Features

  • OAuth 2.0 authentication
  • SAML support
  • API key management
  • Role-based access control

🐳 Docker Support

# Build and run with Docker Compose
docker-compose up

# Build images individually
docker build -f docker/Dockerfile.web -t central-command-web .
docker build -f docker/Dockerfile.api -t central-command-api .

🀝 Contributing

Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.

πŸ“„ License

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

πŸ™ Acknowledgments

  • Built with React, TypeScript, and .NET Core
  • UI components from shadcn/ui
  • Icons from Lucide React
  • Real-time updates powered by SignalR

πŸ“ž Support

For support, please create an issue in the GitHub repository or contact the development team.


Central Command - Unified Portal Management for the Enterprise

About

πŸš€ Enterprise portal management system with real-time monitoring, incident tracking, and health checks. Built with .NET 9, Aspire, and React.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages