A comprehensive enterprise portal management system built with React, TypeScript, and .NET Core, organized as a monorepo for optimal development experience.
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
- Node.js 18+ and npm 9+
- .NET 8.0 SDK
- Git
# 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# 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- React App: http://localhost:5173
- Mock API: http://localhost:5000
- API Swagger: http://localhost:5000/swagger
- 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
- 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
Shared TypeScript definitions used across web and API projects.
Reusable React components that can be shared across multiple frontend applications.
# 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# 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- Real-time portal monitoring
- Health check configuration
- Metrics tracking and visualization
- Alert management
- Create and track incidents
- Severity levels and prioritization
- Comment system
- Resolution tracking
- Real-time metrics updates via SignalR
- Command palette (Cmd/Ctrl + K)
- Dark/Light theme support
- Responsive design
- Keyboard shortcuts
- OAuth 2.0 authentication
- SAML support
- API key management
- Role-based access control
# 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 .Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with React, TypeScript, and .NET Core
- UI components from shadcn/ui
- Icons from Lucide React
- Real-time updates powered by SignalR
For support, please create an issue in the GitHub repository or contact the development team.
Central Command - Unified Portal Management for the Enterprise