KUETx - Shaping Tomorrow's Mind with Today's Tech
KUETx is a Learning Management System (LMS) designed to revolutionize the way students and instructors interact with educational content. Offering a seamless platform for course browsing, engaging lessons, quizzes, and interactive forums, KUETx brings together the best of technology and education. Whether you're a student eager to learn or an instructor looking to share your knowledge, KUETx provides all the tools to create, manage, and enjoy a rich learning experience.
- Wiki β Full project documentation
- Project Board β Tasks and progress tracking
- API Docs β API endpoints and usage (replace with actual link)
- Report Issues β Bug reports and feature requests
- Devlog β Track our development journey.
- Project Resources
- Code Quality
- Live Demo
- API Documentation
- Team
- Features
- Tech Stack
- System Architecture
- Entity-Relationship Diagram
- Project Directory Structure
- Getting Started
- Operational Flow
- Contributing
- License
Explore our RESTful API with interactive docs powered by drf-spectacular:
Meet the passionate developers behind KUETx:
Role | Name & GitHub Profile |
---|---|
Team Lead | Imamul Islam Ifti |
Developer | Saif Alvi |
Developer | Syed Nazib Sadi |
A heartfelt appreciation to Maahad Mahmud
-
Browse Available Courses
Students can explore and enroll in courses based on topics, discovering relevant learning paths with ease. -
OTP Verification for Course Enrollment
A one-time password (OTP) is generated and shown during enrollment. The user must correctly enter the OTP to enroll in a course. -
Invoice Download An invoice pdf file will be downloaded automatically after course enrollment
-
Watch Lessons
Access embedded YouTube videos for engaging, high-quality course content delivered directly in the platform. -
Download Materials
Get access to PDFs and supplementary resources for offline learning, enhancing study flexibility. -
Instructor Course Management
Instructors can create, update, and delete their courses, tailoring content to meet student needs. -
Course Content Management
Instructors can manage course materials, including lessons, PDFs, and quizzes, ensuring up-to-date and organized content.
-
Timed Quiz Sessions
Students take quizzes under time constraints, simulating real test conditions. -
Auto-Graded Scoring
Quiz submissions are automatically evaluated with instant feedback. -
Detailed Result Breakdown
Students receive question-wise analysis, showing correct answers. -
Progress Tracking
Quiz performance is recorded and reflected in the student's profile -
Re-attempts & Practice
Instructors can allow multiple attempts for practice and learning reinforcement.
-
Post Creation and Management
Users can create, edit, and delete their own posts. -
Toxicity Detection
Posts are scanned in real-time using Hugging Faceβsunitary/toxic-bert
to prevent harmful or offensive content. -
Tagging System
Categorize posts with tags (e.g., "Python", "Django") for easy discovery and filtering of relevant topics. -
Nested Comments
Engage in threaded, hierarchical comment discussions, powered by MPTT for seamless reply chains. -
Upvote/Downvote System
Users can upvote or downvote posts to highlight quality content, with a vote score calculated as upvotes minus downvotes. -
Post Sorting Options
Filter and sort posts by tags, recent activity, or most voted all-time. -
User Authentication
Secure registration and login ensure personalized interactions with posts, comments, and votes.
Insightful data visualization for both learners and instructors to monitor performance and progress.
-
Course and Quiz Management
Admins can add, edit, and remove courses and quizzes, ensuring high-quality educational content. -
Platform Analytics
View key metrics, including active users in the last 7 days, total users, students, instructors, courses, and content count, with detailed user information (names and emails). -
Forum Moderation
Admins have delete access to all forum posts, maintaining a safe and constructive community environment.
Modern JWT-based authentication flow for registration, login, and protected APIs.
- React βοΈ
Builds a dynamic, component-based UI for seamless course, quiz and forum interactions. - Tailwind CSS π¨
Powers the responsive, modern design with a teal/blue aesthetic for a vibrant user experience.
- Django π
Drives robust server-side logic for course management, quiz analysis, forum features, and secure authentication. - Django REST Framework π
Provides scalable RESTful APIs for efficient frontend-backend communication. - Hugging Face
unitary/toxic-bert
π€
Enables AI-powered toxicity detection to maintain a safe and respectful forum environment.
- PostgreSQL ποΈ
Stores course, user, quiz and forum data with reliable, efficient querying. - ImageBB πΌοΈ
Host course images for fast, reliable media delivery in learning materials. - CI/CD π
Automates testing and deployment pipelines for consistent, rapid updates.
The Diagram shows how users interact through the front end with DRF APIs for different modules, including courses, quizzes, forums, and authentication.
Hereβs an overview of the systemβs data structure:
Hereβs the directory structure of the Seagull LMS project:
seagull
βββ frontend
β βββ public
β β βββ assets
β βββ src
β β βββ assets
β β βββ components
β β β βββ admin
β β β βββ courses
β β β βββ forum
β β β βββ landingpage
β β β βββ profile
β β β βββ quiz
β β β βββ shared
β β βββ pages
β β βββ services
β β βββ context
βββ server
β βββ requirements.txt
β βββ backend
β βββ ai_utils
β βββ course
β βββ quiz
β βββ forum
β βββ user
βββ README.md
βββ LICENSE
βββ .github
βββ workflows
- Python 3.8+: Download here
- Node.js 14+: Download here
- Git: Download here
- PostgreSQL: Download here
Make sure these are installed before proceeding.
Clone the repository:
git clone https://github.com/your-username/seagull.git
cd seagull
cd frontend
npm install # install dependencies
npm run dev # run the app at localhost
cd server
python -m venv env # create virtual environment
source env/bin/activate # activate environment (Linux/macOS)
env\Scripts\activate # for Windows
pip install -r requirements.txt
cd backend
python manage.py migrate
python manage.py createsuperuser # follow prompts
python manage.py runserver
You will need to configure the .env
files for both the backend and frontend.
- Go to the
server/backend
folder. - Create a
.env
file if it doesnβt exist. - Add your Django and PostgreSQL environment variables, like so:
DEBUG=True
SECRET_KEY=your-secret-key
DB_NAME=lms
DB_USER=your-db-username
DB_PASSWORD=your-db-password
DB_HOST=localhost
DB_PORT=5432
- Go to the
frontend
folder. - Create a
.env
file if it doesnβt exist.
VITE_IMGBB_API_KEY=your-api-here
-
User Authentication
- Users can sign up or log in using JWT-based authentication.
- Admins have access to manage users and content.
-
Browse & Enroll in Courses
- Students can explore available courses.
- They can enroll in courses, view lessons, and participate in quizzes.
-
Course Management by Instructors
- Instructors can create, update, and delete their courses.
- They can upload lessons, quizzes, and other course materials.
-
Quiz Participation & Evaluation
- Students take quizzes, which are automatically graded.
- Quiz results are stored in student profiles.
-
Discussion Forum
- Students and instructors can create posts, comment, and engage in discussions.
- Posts are monitored for toxic content using AI (Hugging Face).
-
Admin Dashboard
- Admins can view platform analytics, manage courses, and moderate content.
We welcome contributions! Here's how you can help:
- Fork this repository
- Create a new branch:
git checkout -b feature-name
- Make your changes and commit:
git commit -m 'Add new feature'
- Push to your fork:
git push origin feature-name
- Submit a Pull Request
π‘ For major changes, please open an issue first to discuss what you'd like to change.
This project is licensed under the MIT
Made by Team Seagull