{"id":20461280,"url":"https://github.com/infectedduck/edumanage","last_synced_at":"2026-04-16T21:02:44.442Z","repository":{"id":256877248,"uuid":"850532485","full_name":"InfectedDuck/EduManage","owner":"InfectedDuck","description":"Django-based web app for managing online courses, user registrations, and exam submissions. Features include course management, user authentication, enrollment tracking, and dynamic exam handling. Part of the IBM Backend course","archived":false,"fork":false,"pushed_at":"2024-09-14T00:06:07.000Z","size":1078,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-16T00:37:29.319Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/InfectedDuck.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-01T03:37:59.000Z","updated_at":"2024-09-14T00:06:10.000Z","dependencies_parsed_at":"2024-09-13T15:36:04.279Z","dependency_job_id":"b1aa2185-d393-496e-a836-179c71d67145","html_url":"https://github.com/InfectedDuck/EduManage","commit_stats":null,"previous_names":["infectedduck/my-course-repo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InfectedDuck%2FEduManage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InfectedDuck%2FEduManage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InfectedDuck%2FEduManage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InfectedDuck%2FEduManage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/InfectedDuck","download_url":"https://codeload.github.com/InfectedDuck/EduManage/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242017700,"owners_count":20058483,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T12:24:37.810Z","updated_at":"2026-04-16T21:02:39.383Z","avatar_url":"https://github.com/InfectedDuck.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Online Course Management System\n\nA Django-based web application designed for managing online courses, user registrations, and exam submissions. This project showcases robust backend development, user authentication, and dynamic content handling using Django.\n\n## Features\n\n- **User Authentication**: Register, log in, and log out users with session management.\n- **Course Management**: Browse courses, view detailed information, and enroll in courses.\n- **Enrollment Tracking**: Track user enrollments and manage course participation.\n- **Exam Submissions**: Submit exam answers and view results with grading.\n- **Dynamic Content**: Manage course content, questions, and user data using Django's ORM.\n\n## Key Features\n\n- **Full CRUD Operations**: Create, Read, Update, and Delete operations for courses, lessons, and enrollments.\n- **User Roles**: Differentiates between instructors and learners with specific attributes and roles.\n- **Course Enrollment**: Manage enrollments with support for various course modes (Audit, Honor, Beta).\n- **Automated Testing**: Ensure robust functionality with Django's built-in testing framework.\n- **Dynamic Exam Handling**: Submit answers and get results based on user submissions.\n\n## Tech Stack\n\n- **Django**: Web framework for developing the application.\n- **SQLite**: Default database for storing course and user data.\n- **Bootstrap**: Frontend framework for responsive design.\n- **Logging**: Integrated logging for tracking errors and application events.\n\n## Models\n\n- **Instructor**: Represents course instructors with attributes such as user, full-time status, and total learners.\n- **Learner**: Represents course learners with attributes like occupation and social link.\n- **Course**: Represents courses with attributes like name, description, image, and instructors.\n- **Lesson**: Represents lessons within a course.\n- **Enrollment**: Tracks user enrollments in courses with attributes like enrollment date, mode, and rating.\n- **Question**: Represents exam questions with associated grades.\n- **Choice**: Represents choices for questions with correct/incorrect status.\n- **Submission**: Tracks user submissions with chosen answers.\n\n## Views\n\n- **CourseListView**: Displays a list of courses with enrollment status.\n- **CourseDetailView**: Shows detailed information about a specific course.\n- **Enroll**: Handles course enrollment for authenticated users.\n- **Submit**: Manages exam submissions and redirects to result view.\n- **Show Exam Result**: Displays the results of an exam submission.\n\n## URLs\n\n- `/`: Home page with a list of courses.\n- `/registration/`: User registration page.\n- `/login/`: User login page.\n- `/logout/`: User logout.\n- `/course/\u003cint:pk\u003e/`: Course detail page.\n- `/course/\u003cint:course_id\u003e/enroll/`: Enroll in a course.\n- `/course/\u003cint:course_id\u003e/submit/`: Submit exam answers.\n- `/course/\u003cint:course_id\u003e/submission/\u003cint:submission_id\u003e/result/`: View exam results.\n\n\n# **General Notes**\n\nAn `onlinecourse` app has already been provided in this repo upon which you will be adding a new assesement feature.\n\n- If you want to develop the final project on Theia hosted by [IBM Developer Skills Network](https://labs.cognitiveclass.ai/), you will need to create the same project structure on Theia workspace and save it everytime you close the browser\n- Or you could develop the final project locally by setting up your own Python runtime and IDE\n- Hints for the final project are left on source code files\n- You may choose any cloud platform for deployment (default is IBM Cloud Foundry)\n- Depends on your deployment, you may choose any SQL database Django supported such as SQLite3, PostgreSQL, and MySQL (default is SQLite3)\n\n**ER Diagram**\nFor your reference, we have prepared the ER diagram design for the new assesement feature.\n\n![Onlinecourse ER Diagram](https://github.com/ibm-developer-skills-network/final-cloud-app-with-database/blob/master/static/media/course_images/onlinecourse_app_er.png)\n\n\n## License\nThis project is licensed under the Apache License 2.0. See the [LICENSE](LICENSE) file for details. \u003cbr\u003e\nThis project is made as a part of IBM Course.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfectedduck%2Fedumanage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finfectedduck%2Fedumanage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfectedduck%2Fedumanage/lists"}