Welcome to the Space Mission Management System (SMMS)! This is a comprehensive, full-stack application designed to manage complex space exploration operations. It provides a robust interface to track astronauts, spacecraft, missions, and telemetry data, alongside a powerful relational database backend.
- Mission Control & Dashboard: Real-time overview of active space missions and ground operations.
- Personnel Management: Track astronauts, ground control staff, and their specific roles and assignments.
- Spacecraft Tracking: Manage modules, spacecraft conditions, and system telemetry.
- Experiment Logging: Record scientific experiments conducted during missions, including success ratings and automated validations.
- Role-Based Access: Distinguishes between Admin users and standard staff for secure access control.
- Advanced Database Mechanics: Utilizes SQL Views for complex reporting, Triggers for automated validation, and comprehensive Constraints to maintain data integrity.
- Frontend: React, Vite, CSS (Responsive UI with dynamic elements).
- Backend: Node.js, Express.js.
- Database: SQL (Structured Query Language) utilizing advanced schema designs.
├── backend/
│ ├── src/ # Node.js/Express server code
│ └── sql/ # Database initialization scripts
│ ├── 01_complete_setup.sql # Helper script for complete DB setup
│ ├── schema.sql # Core tables and relationships
│ ├── seed.sql # Dummy data for testing
│ └── 04_auth_views_triggers.sql # Authentication, Views, and Triggers
├── frontend/
│ ├── src/ # React components, pages, context, and layouts
│ └── vite.config.js
├── docs/ # Project documentation
└── README.md # Project details
The SMMS database is highly optimized and secured using several advanced SQL concepts:
- Views (
vw_*): Pre-compiled complex queries. For example,vw_mission_activitycombines data from missions, spacecraft, and astronauts into one easy-to-read summary, whilevw_active_userstracks user logins. - Triggers: Automated background rules. For instance, an active trigger ensures that any scientific experiment's "Success Rating" is strictly logged between 0 and 100.
- Constraints: Enforces strict data integrity (Primary Keys, Foreign Keys,
NOT NULL, andCHECKconditions like enforcing specific gender inputs or email formatting).
- Node.js installed on your local machine.
- A compatible SQL Database Server (e.g., MySQL, PostgreSQL, depending on configuration).
Navigate to the backend/sql directory and run the setup scripts in your SQL client in the following order (or use the complete setup script):
schema.sql04_auth_views_triggers.sqlseed.sql
- Open a terminal in the
backend/folder. - Install dependencies:
npm install - Start the server:
npm start(ornpm run dev)
- Open a terminal in the
frontend/folder. - Install dependencies:
npm install - Start the development server:
npm run dev - The application will be accessible via your local browser (typically
http://localhost:5173).
Author: Muhammad Anas (@MuhammadAnas4774) Contact: miananns567@gmail.com