A comprehensive multi-school management system designed for the Government of Rajasthan, built with Django REST Framework (Backend) and React + TypeScript (Frontend).
The Acharya ERP system is a modern Educational Resource Planning platform that supports:
- Multi-School Admission System: Students apply to up to 3 schools with independent review and enrollment tracking
- Category-Based Fee Management: Dynamic fee calculation based on class levels and categories (General, SC/ST/OBC/SBC)
- Role-Based Access Control: Separate interfaces for Students, Parents, Faculty, Admins, and Wardens
- Document Management: Secure file upload, validation, and serving with proper authentication
- Real-Time Tracking: Application status, enrollment updates, and notifications across the system
- Backend: Django 5.2+, Django REST Framework, JWT authentication, PostgreSQL/SQLite
- Frontend: React 18+, TypeScript, Vite, shadcn/ui components, Tailwind CSS, React Query
- Development Tools: UV package manager, npm, Git, VS Code
- Production: Ubuntu Linux, Nginx, Gunicorn, Let's Encrypt SSL, systemd services
Complete technical documentation is available in the docs/ folder:
- π Architecture Guide - System design, technical implementation, and feature details
- π API Reference - Complete API documentation with examples and authentication
- π Deployment Guide - Development setup and production deployment instructions
- Python 3.11+ (recommended 3.13)
- Node.js 18+ (recommended 20+)
- UV package manager for Python dependencies
- PostgreSQL 15+ (production) or SQLite (development)
git clone <repository-url>
cd Acharyacd backend
# Install UV package manager
curl -LsSf https://astral.sh/uv/install.sh | sh # macOS/Linux
# OR
powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # Windows
# Install dependencies
uv sync
# Environment configuration
cp .env.example .env
# Edit .env with your settings
# Database setup
uv run python manage.py migrate
uv run python manage.py createsuperuser
# Start development server
uv run python manage.py runservercd frontend
# Install dependencies
npm install
# Environment configuration
cp .env.example .env
# Edit .env with your settings
# Start development server
npm run dev- Frontend: http://localhost:5173/
- Backend API: http://localhost:8000/api/v1/
- Admin Panel: http://localhost:8000/admin/
Acharya/
βββ backend/ # Django Backend
β βββ config/ # Django settings and URLs
β βββ users/ # User management and authentication
β βββ admissions/ # Multi-school admission system
β βββ students/ # Student profiles and academic records
β βββ staff/ # Faculty and staff management
β βββ fees/ # Category-based fee management
β βββ attendance/ # Attendance tracking
β βββ exams/ # Examination management
β βββ hostel/ # Hostel management
β βββ library/ # Library management
β βββ notifications/ # Notification system
β βββ analytics/ # Analytics and reporting
β βββ reports/ # Report generation
β βββ parents/ # Parent portal features
β βββ test/ # Testing scripts and data
β βββ manage.py # Django management script
β βββ pyproject.toml # Python dependencies (UV)
β
βββ frontend/ # React + TypeScript Frontend
β βββ src/
β β βββ components/ # UI components (shadcn/ui)
β β βββ pages/ # Route components
β β βββ lib/ # Utilities and API clients
β β βββ hooks/ # Custom React hooks
β β βββ integrations/ # External service integrations
β β βββ assets/ # Static assets
β βββ public/ # Public static files
β βββ package.json # Node.js dependencies
β βββ vite.config.ts # Vite configuration
β
βββ docs/ # Documentation
βββ ARCHITECTURE.md # System design and implementation
βββ API_REFERENCE.md # Complete API documentation
βββ DEPLOYMENT.md # Setup and deployment guide
βββ README.md # Documentation overview
- Email Verification: OTP-based verification before application submission
- School Preferences: Students apply to up to 3 schools in preference order
- Independent Review: Each school reviews and decides on applications separately
- Student Choice: Students choose from multiple accepted schools
- Enrollment Tracking: Complete enrollment/withdrawal workflow with date tracking
- Students: Application status, enrollment details, fee information
- Parents: Child's academic progress and school communications
- Faculty: Student management, attendance, and academic records
- Admins: System oversight, application review, and analytics
- Wardens: Hostel management and student welfare
- Dynamic Calculation: Based on class levels (1-8, 9-10, 11-12) and categories
- Category Support: General, SC/ST, OBC, SBC with different fee structures
- Real-time Display: Immediate fee calculation in the frontend
- Payment Integration: Secure payment workflow with tracking
- JWT Authentication: Secure token-based authentication with refresh tokens
- Role-Based Permissions: Granular access control per endpoint and feature
- Input Validation: Comprehensive validation on all forms and API endpoints
- File Upload Security: Type and size restrictions with malware scanning
- CORS Protection: Secure cross-origin resource sharing configuration
- Production Security: SSL/TLS, security headers, and protection against common attacks
Test files are organized in backend/test/ folder:
# Backend testing
cd backend
uv run python manage.py test
# Frontend testing
cd frontend
npm run test
# End-to-end testing
npm run test:e2eFor complete deployment instructions, see the Deployment Guide.
- Server: Ubuntu 22.04+ with PostgreSQL and Nginx
- Security: SSL certificates, firewall configuration, security headers
- Process Management: Systemd services with auto-restart
- Performance: Database optimization, static file caching, monitoring
- Backup: Automated database and media file backups
- Fork the repository
- Create a feature branch (
git checkout -b feature/new-feature) - Review the Architecture Guide for implementation patterns
- Test your changes thoroughly
- Update documentation as needed
- Submit a pull request with detailed description
- Development Issues: Review API Reference and Architecture Guide
- Deployment Issues: Check Deployment Guide troubleshooting sections
- System Questions: Refer to specific documentation sections based on your role
- Create detailed bug reports with reproduction steps
- Include system information and error logs
- Reference relevant documentation sections
- Advanced Analytics: Enhanced reporting and dashboard features
- Mobile Application: Native mobile app for students and parents
- Payment Gateway: Integration with multiple payment providers
- Multi-Language Support: Localization for Hindi and regional languages
- SMS/Email Notifications: Automated communication system
- API Extensions: Additional endpoints for third-party integrations
- Performance Optimization: Caching strategies and database optimization
- Monitoring: Enhanced logging and application performance monitoring
- Security Enhancements: Additional security measures and compliance features
- Testing: Expanded test coverage and automated testing pipelines
This project is developed for the Government of Rajasthan and follows government software development guidelines.
Built with modern web technologies:
- Django & DRF for robust backend architecture
- React & TypeScript for type-safe frontend development
- shadcn/ui for beautiful, accessible UI components
- UV Package Manager for efficient Python dependency management
- Vite for fast frontend development and building
For detailed technical information, implementation guides, and deployment instructions, please refer to the comprehensive documentation in the docs/ folder.
Last Updated: January 2025 | Version: 1.0.0