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.
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)
- ✅ 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
- ✅ 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
- ✅ User authentication and role-based access
- ✅ Real-time assignment status tracking
- ✅ Comprehensive reporting and statistics
- ✅ Late submission detection
- ✅ Grade calculation and performance analytics
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
- Language: Java 23
- Build Tool: Maven
- Dependencies:
- Jackson (JSON processing)
- Java Time API (Date/Time handling)
- Architecture: MVC Pattern with Service Layer
- Java 23 or higher
- Maven 3.6+
- IDE (IntelliJ IDEA recommended)
-
Clone the repository
git clone <repository-url> cd "Assignment Tracker Final"
-
Build the project
mvn clean compile
-
Run the application
mvn exec:java -Dexec.mainClass="org.app.Main"
The system comes pre-loaded with sample data for testing:
-
Dr. Ahmed Rahman (Computer Science)
- Email: ahmed@bup.edu.bd
- Password: password123
-
Prof. Sarah Khan (Business Administration)
- Email: sarah@bup.edu.bd
- Password: password123
-
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
- Object Oriented Programming (CSE-202)
- Business Management (BBA-101)
- 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
- 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
User(Abstract): Base class for all usersTeacher: Extends User, manages courses and assignmentsStudent: Extends User, handles submissions and enrollmentAssignment: Represents assignments with due dates and gradingSubmission: Student work submissions with grading capability
UserService: Authentication and user managementCourseService: Course creation and enrollmentAssignmentService: Assignment lifecycle and grading
- Homework
- Project
- Lab Assignment
- Quiz
- Exam
- Presentation
- Research Paper
- Case Study
- Draft → Active → Closed → Graded → Archived
- 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
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
This project is developed for educational purposes as part of the BUP UCAM system enhancement initiative.
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.