Student Assignment Tracker
A comprehensive assignment management system for Bangladesh University of Professionals (BUP) that eliminates the need for Google Classroom by providing teachers and students with a complete platform to manage assignments, submissions, and grading.
๐ฏ Project Overview
The Student Assignment Tracker is designed to streamline assignment management within the universityโs existing UCAM system. This Object-Oriented Programming (OOP) based solution provides:
- Teachers: Create and manage assignments, grade submissions, track student progress
- Students: View assignments, submit work, track grades and feedback
- Administrators: Oversee the entire system (extensible for future development)
๐ Features
For Teachers
- โ
Create and manage courses
- โ
Create various types of assignments (Homework, Projects, Labs, Quizzes, etc.)
- โ
Set due dates and maximum marks
- โ
View and grade student submissions
- โ
Provide detailed feedback
- โ
Track assignment statistics and student participation
- โ
Monitor late submissions
For Students
- โ
View enrolled courses and available assignments
- โ
Submit assignments with text content
- โ
Track submission status and deadlines
- โ
View grades and teacher feedback
- โ
Monitor overall academic performance
System Features
- โ
User authentication and role-based access
- โ
Real-time assignment status tracking
- โ
Comprehensive reporting and statistics
- โ
Late submission detection
- โ
Grade calculation and performance analytics
๐๏ธ Architecture
The system follows Object-Oriented Programming principles with a clear separation of concerns:
src/main/java/org/app/
โโโ model/ # Core data models
โ โโโ User.java # Abstract base user class
โ โโโ Teacher.java # Teacher-specific functionality
โ โโโ Student.java # Student-specific functionality
โ โโโ Course.java # Course management
โ โโโ Assignment.java # Assignment entities
โ โโโ Submission.java # Student submissions
โ โโโ Enums/ # Status and type definitions
โโโ service/ # Business logic layer
โ โโโ UserService.java # User management operations
โ โโโ CourseService.java # Course operations
โ โโโ AssignmentService.java # Assignment and submission logic
โโโ controller/ # Application interface
โโโ AssignmentTrackerController.java # Main application controller
๐ ๏ธ Technology Stack
- Language: Java 23
- Build Tool: Maven
- Dependencies:
- Jackson (JSON processing)
- Java Time API (Date/Time handling)
- Architecture: MVC Pattern with Service Layer
๐ Prerequisites
- Java 23 or higher
- Maven 3.6+
- IDE (IntelliJ IDEA recommended)
๐ฆ Getting Started
- Clone the repository
git clone <repository-url>
cd "Assignment Tracker Final"
- Build the project
- Run the application
mvn exec:java -Dexec.mainClass="org.app.Main"
๐ฅ Sample Data
The system comes pre-loaded with sample data for testing:
Teachers
- Dr. Ahmed Rahman (Computer Science)
- Email: ahmed@bup.edu.bd
- Password: password123
- Prof. Sarah Khan (Business Administration)
- Email: sarah@bup.edu.bd
- Password: password123
Students
- Mohammad Ali (CSE, Semester 7)
- Email: ali@student.bup.edu.bd
- Password: student123
- Fatima Hassan (CSE, Semester 7)
- Email: fatima@student.bup.edu.bd
- Password: student123
Courses
- Object Oriented Programming (CSE-202)
- Business Management (BBA-101)
๐ฎ Usage Guide
For Teachers
- Login with teacher credentials
- Create Course: Set up new courses with details
- Create Assignment:
- Select course and assignment type
- Set title, description, and due date
- Define maximum marks
- Grade Submissions: Review student work and provide feedback
- View Statistics: Monitor course and assignment performance
For Students
- Login with student credentials
- View Assignments: See all available assignments across courses
- Submit Work: Submit assignments before due dates
- Track Progress: Monitor submission status and grades
- View Feedback: Read teacher comments and improve
๐ง Key Classes and Methods
Core Models
User (Abstract): Base class for all users
Teacher: Extends User, manages courses and assignments
Student: Extends User, handles submissions and enrollment
Assignment: Represents assignments with due dates and grading
Submission: Student work submissions with grading capability
Services
UserService: Authentication and user management
CourseService: Course creation and enrollment
AssignmentService: Assignment lifecycle and grading
๐ Assignment Types Supported
- Homework
- Project
- Lab Assignment
- Quiz
- Exam
- Presentation
- Research Paper
- Case Study
๐ Assignment Status Flow
- Draft โ Active โ Closed โ Graded โ Archived
๐ Future Enhancements
- File attachment support for assignments and submissions
- Email notifications for due dates and grading
- Advanced reporting and analytics
- Mobile application interface
- Integration with existing BUP systems
- Plagiarism detection
- Bulk operations for teachers
- Parent/Guardian access portal
๐ค Contributing
This project is developed for Bangladesh University of Professionals. For contributions:
- Fork the repository
- Create a feature branch
- Make your changes following OOP principles
- Test thoroughly
- Submit a pull request
๐ License
This project is developed for educational purposes as part of the BUP UCAM system enhancement initiative.
๐ Support
For technical support or feature requests, please contact the BUP IT Department.
Developed with โค๏ธ for Bangladesh University of Professionals
Making assignment management efficient and effective for the BUP community.