GyanLedger is a full-stack Tuition Manager app built for tutors to manage students, track fee payments, view reports/summaries and stay organized — all in one place. It also has features like profile management, dark/light theme toggle, image uploads, and real-time UI feedback using toasts and spinners.
- Login & Registration via modal popups on the landing page
- Token-based authentication with session persistence
- Add, edit, and delete student records
- Search students by name or phone number
- Record monthly payments with date and remarks
- View payment history per student
- Monthly collection summary
- 📊 Monthly Summary Reports — See collected, expected, and pending amounts
- Total students, total collected, expected, and pending amount
- Supports light/dark mode/theme toggle with smooth transitions 🌗 Smooth theme switching with persistent settings
- Update personal details
- Upload and view profile image (stored in 📦 MongoDB via GridFS)
- Change password
- Delete account (with auto-redirect)
- Spinners for loading states
- Toast notifications for feedback
- Responsive layout for desktop and mobile
-
🪄 UX Enhancements — Toasts for feedback, modals, spinners, and more
-
⚡ Responsive UI — Built with modern React practices and a clean layout
- Django REST Framework
- Token Authentication
- MongoDB for storing profile images (GridFS)
- MySQL for core data (students, payments, user info)
- Django + Django REST Framework
- MongoDB (for profile images via GridFS)
- MySQL (for core data: students, payments, users)
- JWT Authentication using
djangorestframework-simplejwt
- React + React Router DOM
- Axios for API calls
- React Toastify for notifications
- CSS modules & dark/light theming
- React (Hooks + functional components)
- React Router for routing
- Axios for API calls
- React Toastify for notifications
- Tailwind CSS or custom CSS (based on your setup)
- Clone the repository:
git clone https://github.com/yourusername/GyanLedger.git
cd GyanLedger
- Set up and activate a virtual environment:
cd backend
python -m venv venv
venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
-
Configure
.env
(DB creds, secret key, etc.) -
Make migrations
python manage.py makemigrations
python manage.py migrate
- Create superuser (optional)
python manage.py createsuperuser
- Start server
python manage.py runserver
- Go to frontend folder:
cd ../frontend
- Install dependencies:
npm install
- Start the React app:
npm start
The app runs on
http://localhost:3000
(frontend) and connects to backend onhttp://localhost:8000
GyanLedger/
|
├── backend/
| ├── manage.py
│ ├── core/ # All API logic
│ ├── gyanledger/ # Django project config
│ └── ...
|
├── frontend/
│ ├── public/
│ | ├── favicon.ico
│ │ └── logo.png
│ └── src/
│ ├── components/ #.jsx files
│ ├── App.js
│ ├── App.css
│ └── ...
|
└── README.md
- Visit the landing page
- Register or login via the modals
- Access the dashboard
- Add students, record payments, view summaries
- Customize your profile and theme
- Role-based access (Admin/Tutor)
- Notifications/Email reminders for pending payments
- Export data for monthly reports as PDF/Excel
- Multi-language support (English/Bengali)
- Mobile App (React Native / Flutter)
- Pagination
- attendance tracking
- time table scheduling
- xam tracker
- admin panel
- password forgor
- email verification
This project is open-source and available under the MIT License.