The SOLDIER SUPPORT SYSTEM is a comprehensive platform designed to manage personnel, battalions, and examinations for military operations. It provides a Commanding Officer (CO) dashboard for managing approvals, viewing statistics, and handling personnel data efficiently.
- Personnel Management: Add, update, and delete personnel records.
- Battalion Management: Approve or reject battalion requests.
- Examination Management: Add and manage examination questions.
- Role-Based Access Control: Different roles (CO, JSO, USER) with specific permissions.
- Dashboard Statistics: View statistics for battalions, pending approvals, and examination questions.
warrior-support-system/
├── backend/
│ ├── routes/ # API routes for personnel, battalions, etc.
│ ├── models/ # Mongoose models for database schema
│ ├── middleware/ # Authentication and authorization middleware
│ └── server.js # Entry point for the backend server
├── src/
│ ├── components/ # React components for the frontend
│ ├── styles/ # CSS styles for the application
│ └── App.jsx # Main React application file
├── public/ # Static assets
├── README.md # Project documentation
└── package.json # Project dependencies and scripts
- Node.js (v14 or later)
- MongoDB
- Clone the repository:
git clone https://github.com/23abdul23/M_CIR.git cd M_CIR - Install dependencies for both backend and frontend:
cd warrior-support-system/backend npm install cd ../src npm install
- Set up environment variables:
- Create a
.envfile in thebackendfolder with the following:MONGO_URI=<your-mongodb-connection-string> JWT_SECRET=<your-jwt-secret>
- Create a
- Start the backend server:
cd warrior-support-system/backend npm start - Start the python backend:
cd warrior-support-system/python-backend uvicorn app:app --reload - Start the frontend:
cd warrior-support-system npm start
- Access the application at
http://localhost:3000. - Log in as a Commanding Officer to manage personnel and battalions.
- Use the dashboard to view statistics and perform quick actions.
GET /api/personnel/pending: Fetch pending personnel approvals.PUT /api/personnel/approve-user/:id: Approve or reject a user.
GET /api/battalion: Fetch all battalions.PATCH /api/battalion/:id/status: Update battalion status.
GET /api/questions: Fetch all examination questions.POST /api/questions: Add a new question.
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Submit a pull request with a detailed description of your changes.
This project is licensed under the MIT License. See the LICENSE file for details.
- Special thanks to the contributors and the open-source community for their support.