You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Edosaic — a portmanteau of Education and Mosaic — is a comprehensive, role-based Student Management System built with Django. It unifies every facet of academic administration into a single, secure platform for schools, colleges, universities, and coaching centers.
The platform includes STAN, an AI chatbot powered by Groq's Llama 3.1 8B that delivers real-time institutional insights from your live data.
Key Features
Multi-Tenant Architecture — Complete data isolation between institutions on a shared codebase
7 Role-Based Dashboards — Chairman, Director, HOD, Faculty, Student, Accountant, and Librarian with tailored permissions
AI-Powered Assistant (STAN) — Context-aware chatbot that queries your live institutional data
Full Academic Workflow — Courses, branches, subjects, faculty assignments, attendance, exams, results, and grade tracking
Library & Event Management — Book inventory, issue/return tracking, fine management, and event scheduling
OAuth Authentication — Google and GitHub login with invite-code-based self-registration
Dual Theme UI — Light mode with professional gradients and dark mode with glassmorphism
Responsive Design — Fully functional on desktop, tablet, and mobile
Production-Ready — Dockerized with Gunicorn, PostgreSQL, and auto-deploy via Render.com
Tech Stack
Layer
Technology
Backend
Django 6.0.7, Python 3.12
Database
PostgreSQL 16 (SQLite for dev)
Auth
django-allauth 65.x (OAuth + credentials)
AI Chat
Groq API (Llama 3.1 8B)
Frontend
Custom CSS (dual-theme), Lucide Icons, Chart.js
Deployment
Docker, Render.com
Static Files
Whitenoise
Architecture
Role Hierarchy
Chairman
└── Director
└── HOD (Head of Department)
└── Faculty
└── Student
└── Parent
Accountant and Librarian are staff roles with institution-wide access to fees/finances and library operations respectively.
Multi-Tenant Design
Every data model includes a ForeignKey to Institution, ensuring complete data isolation between organizations on a shared codebase. Each institution gets a unique invite code for self-registration.
DJANGO_SECRET_KEY=your-secret-keyDEBUG=TrueALLOWED_HOSTS=localhost,127.0.0.1# OAuth (optional)GOOGLE_CLIENT_ID=GOOGLE_CLIENT_SECRET=GITHUB_CLIENT_ID=GITHUB_CLIENT_SECRET=# AI Chatbot (optional)GROQ_API_KEY=
Docker Deployment
docker compose up -d --build
docker compose exec web python manage.py migrate
docker compose exec web python manage.py createsuperuser
Render.com Deployment
The included render.yaml enables automatic deployment. Connect your GitHub repository to Render, and it will configure the web service and PostgreSQL database automatically.
Demo Credentials
After running python seed.py:
Role
Username
Password
Chairman
admin
admin123
Faculty
faculty1
pass1234
Student
student1
pass1234
Parent
parent1
pass1234
FAQ
Question
Answer
Who is Edosaic for?
Schools, colleges, universities, and coaching centers that need a centralized academic management platform.
What roles are supported?
Seven roles across the hierarchy: Chairman, Director, HOD, Faculty, Student, Accountant, and Librarian — each with a dedicated dashboard and permission set.
Can I run it without Docker?
Yes. The project runs with python manage.py runserver and SQLite for local development. Docker is optional and intended for production.
Is STAN mandatory?
No. STAN (AI chatbot) requires a Groq API key. Without it, all other features work normally.
How do I get started quickly?
Clone the repo, run python seed.py, and log in with the demo credentials above. The seed script populates sample data for all roles.
How do I deploy to production?
Use Docker Compose with PostgreSQL, or deploy via Render.com using the included render.yaml. See the Deployment Guide.
Is OAuth required?
No. Users can register via email/password or institution invite codes. Google and GitHub OAuth are optional.
How is data isolated between institutions?
Every model has a ForeignKey to Institution, ensuring complete data separation on a shared codebase.