Dolphine Scout Management is a comprehensive web-based platform designed to help scout organizations efficiently manage their members, events, and activities. This system provides a centralized solution for streamlining communication, data management, and reducing manual paperwork while enhancing the overall scouting experience.
- Features
- Tech Stack
- Project Structure
- Installation
- Usage
- Database
- User Roles & Permissions
- System Entities
- Entity Relationship Diagram
- Roadmap
- Contributing
- License
- Support
- Member Management: Comprehensive scout profile management with progress tracking
- Event Management: Create, manage, and track attendance for various scout activities
- Achievement System: Award and track scout accomplishments and recognitions
- Financial Management: Handle donations, sponsorships, and financial transactions
- Communication Hub: Announcement system for leaders to communicate with scouts and parents
- Media Management: Upload and manage photos, videos, and files for events
- Real-time Updates: Live updates for all system activities and changes
- Camp Management: Organize outdoor learning activities and camps
- Equipment Tracking: Manage tools and materials required for events
- Location Management: Track geographical details for events and activities
- Progress Monitoring: Detailed reports on scout participation and achievements
| Layer | Technologies |
|---|---|
| Frontend | React (Vite), Tailwind CSS, Zustand, React Router |
| Backend | Node.js, Express, PostgreSQL |
| Styling | Tailwind CSS |
| State | Zustand |
| Dev Tools | Prettier, ESLint, VSΒ Code, Nodemon |
Dolphine-scout-management/
βββ README.md
βββ LICENSE
βββ assets/
| βββ er-diagram.png
βββ client/ # React frontend application
β βββ src/
β β βββ assets/ # Static assets (images, icons, etc.)
β β βββ components/ # Reusable React components
β β βββ data/ # Static data and constants
β β βββ hooks/ # Custom React hooks
β β βββ pages/ # Page components
β β βββ routers/ # React Router configuration
β β βββ styles/ # CSS and styling files
β β βββ store/ # Zustand auth store
β βββ package.json
β βββ vite.config.js # Vite configuration
βββ server/ # Node.js backend API
β βββ config/ # Database and environment configuration
β βββ controllers/ # Request handlers and business logic
β βββ middleware/ # Express middleware functions
β βββ routes/ # API route definitions
β βββ utils/ # Utility functions and helpers
β βββ index.js # Main server entry point
β βββ package.json
βββ .gitignore
βββ .prettierrc # Prettier configuration
βββ package.json # Root package configuration
- Node.js (v14 or higher)
- npm or yarn package manager
- Git
-
Clone the repository
git clone https://github.com/yourusername/Dolphine-scout-management.git cd Dolphine-scout-management -
Install root dependencies
npm install
-
Setup Backend
cd server npm install -
Setup Frontend
cd ../client npm install -
Environment Configuration Create a
.envfile in the server directory with your configuration:PORT=5000 DATABASE_URL=your_database_connection_string JWT_SECRET=your_jwt_secret_key
-
Start the backend server
cd server npm run devThe server will run on
http://localhost:3000 -
Start the frontend application
cd client npm run devThe client will run on
http://localhost:5173
-
Build the frontend
cd client npm run build -
Start the production server
cd server npm start
- Uses PostgreSQL.
- Schema includes entities such as:
User,Scout,Troop,Event,Achievement,Transaction, etc. - Tip: Use
psqlor pgAdmin to create the database before running the server.
- Manage user roles (create, update, delete users)
- Assign scout leaders to specific troops
- View and manage all scout profiles across the system
- Create, update, or delete events for all troops
- Backup and restore system data
- View financial balance and transactions
- View and manage scout profiles within their assigned troop
- Create and manage events with attendance tracking
- Award achievements to scouts based on their accomplishments
- Generate reports on scout participation and progress
- Schedule and manage training sessions
- Upload media content for events
- View personal profile, achievements, and progress
- Access upcoming and past event schedules
- Track personal performance and participation history
- Receive announcements from scout leaders
- Monitor their child's profile, achievements, and progress
- View event schedules and participation status
- Track their child's involvement in scout activities
- Receive important announcements and updates
The system manages the following core entities:
- Users: Admin, Scout Leaders, Parents, and Scouts
- Troops: Scout groups led by scout leaders
- Events: Planned activities including camps and gatherings
- Achievements: Awards and recognitions for scouts
- Announcements: Communication messages
- Transactions: Financial operations and donations
- Media: Photos, videos, and documentation
- Equipment: Tools and materials for events
- Locations: Geographical information for activities
The following ER diagram illustrates the main entities and their relationships within the Dolphine Scout Management System:
- User Role Management
- Event & Attendance System
- Announcements & Notifications
- Email/SMS Notifications Integration
- PWA Support for mobile
- Dark Mode UI
- Dashboard Analytics
We welcome contributions to improve the Scout Management System! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'feat: Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow the existing code style and conventions
- Write clear, descriptive commit messages
- Test your changes thoroughly before submitting
- Update documentation as needed
This project is licensed under the MIT License - see the LICENSE file for details.
For support, questions, or suggestions, please:
- Open an issue on GitHub
- Contact the development team
- Check the documentation wiki
