{"id":19069658,"url":"https://github.com/vbukoev/coursenet","last_synced_at":"2026-06-20T19:31:11.990Z","repository":{"id":224085609,"uuid":"761427833","full_name":"vbukoev/CourseNet","owner":"vbukoev","description":"CourseNet","archived":false,"fork":false,"pushed_at":"2024-04-13T13:40:58.000Z","size":39367,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-14T04:03:59.495Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vbukoev.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}},"created_at":"2024-02-21T21:10:15.000Z","updated_at":"2024-04-15T08:49:09.029Z","dependencies_parsed_at":"2024-04-15T08:48:51.904Z","dependency_job_id":null,"html_url":"https://github.com/vbukoev/CourseNet","commit_stats":null,"previous_names":["vbukoev/coursenet"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vbukoev/CourseNet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vbukoev%2FCourseNet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vbukoev%2FCourseNet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vbukoev%2FCourseNet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vbukoev%2FCourseNet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vbukoev","download_url":"https://codeload.github.com/vbukoev/CourseNet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vbukoev%2FCourseNet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34583589,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-09T01:15:10.075Z","updated_at":"2026-06-20T19:31:11.974Z","avatar_url":"https://github.com/vbukoev.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Overview 👨🏻‍💻\n\n\"CourseNet\" is a web application with educational and demonstrative purposes. It mimics (in a much smaller scale) systems used for management of online courses and enrolling in them. You can enroll in to different courses, lectures, you can get a huge amount of materials, become students or even instructors of the courses.\n\n\u003c!---You can check the CourseNET website here -\u003e https://coursenetweb.azurewebsites.net. ---\u003e\n\n   ## Technologies used ⚙️\n\u003cul\u003e\n  \u003cli\u003e.NET Core 6.0\u003c/li\u003e\n  \u003cli\u003eASP.NET Core\u003c/li\u003e\n  \u003cli\u003eEntity Framework Core\u003c/li\u003e\n  \u003cli\u003eHTML, CSS, Bootstrap\u003c/li\u003e\n  \u003cli\u003eMS SQL Server\u003c/li\u003e\n  \u003cli\u003eNUnit\u003c/li\u003e\n  \u003cli\u003eMoq\u003c/li\u003e\n  \u003cli\u003eJS\u003c/li\u003e\n\u003c/ul\u003e\n\n## Users 🧑‍🤝‍🧑\nThere are 4 types of users with different access to the application's functionality:\n\n\u003cul\u003e\n  \u003cli\u003e\n    \u003cb\u003eGuest\u003c/b\u003e - logged off user. Guests can only view available courses. \n  \u003c/li\u003e\n  \u003cli\u003e\n    \u003cb\u003eStudent\u003c/b\u003e - This is the user who can enroll the courses which were created by the instructor.\n  \u003c/li\u003e\n  \u003cli\u003e\n    \u003cb\u003eInstructor\u003c/b\u003e - This is the user who creates the courses and which courses can be enrolled by the students of the system\n  \u003c/li\u003e\n  \u003cli\u003e\n    \u003cb\u003eAdministrator\u003c/b\u003e - The administrator can alter the global settings of the application and delete courses, lectures, materials, reviews.\n  \u003c/li\u003e\n\u003c/ul\u003e\n\n## Test credentials\nYou can test the application with pre-seeded data using the following credentials:\n\n#### Student\nUsername: test@students.com \u003c/br\u003e\nPassword: 123456\n\n#### Instructor\nUsername: futureInstructor@instructors.com \u003c/br\u003e\nPassword: 123456\n\n#### Administrator\nUsername: admin@coursenet.bg\u003c/br\u003e\nPassword: 123456\n\n## Database diagram\n\n![database-diagram](https://github.com/vbukoev/CourseNet/assets/105813259/90122816-5ccb-45fc-bd4f-4472e04819aa)\n\n# Functionality\n\n## Table of contents\n\u003cul\u003e\n  \u003cli\u003e\n    \u003ca href=\"#user-registration\"\u003eUser registration\u003c/a\u003e\n  \u003c/li\u003e\n  \u003cli\u003e\n    \u003ca href=\"#home-page\"\u003eHome page\u003c/a\u003e\n  \u003c/li\u003e\n  \u003cli\u003e\n    \u003ca href=\"#admin-home-page\"\u003eAdministration home page\u003c/a\u003e\n  \u003c/li\u003e\n  \u003cli\u003e\n    \u003ca href=\"#all-courses\"\u003eAll courses\u003c/a\u003e\n  \u003c/li\u003e\n  \u003cli\u003e\n    \u003ca href=\"#details-section-of-the-course\"\u003eDetails section of the course\u003c/a\u003e\n  \u003c/li\u003e\n  \u003cli\u003e\n    \u003ca href=\"#edit-section-of-the-course\"\u003eEdit section of the course\u003c/a\u003e\n  \u003c/li\u003e\n  \u003cli\u003e\n    \u003ca href=\"#delete-section-of-the-course\"\u003eDelete section of the course\u003c/a\u003e\n  \u003c/li\u003e\n    \u003cli\u003e\n    \u003ca href=\"#my-courses\"\u003eMy courses\u003c/a\u003e\n  \u003c/li\u003e\n    \u003cli\u003e\n    \u003ca href=\"#become-instructor-page\"\u003eBecome instructor page\u003c/a\u003e\n  \u003c/li\u003e\n  \u003cli\u003e\n    \u003ca href=\"#all-categories\"\u003eAll categories\u003c/a\u003e\n  \u003c/li\u003e\n   \u003cli\u003e\n    \u003ca href=\"#create-category-page\"\u003eCreate category page\u003c/a\u003e\n  \u003c/li\u003e\n   \u003cli\u003e\n    \u003ca href=\"#details-of-the-category\"\u003eDetails of the category\u003c/a\u003e\n  \u003c/li\u003e\n   \u003cli\u003e\n    \u003ca href=\"#edit-category-page\"\u003eEdit category page\u003c/a\u003e\n  \u003c/li\u003e\n   \u003cli\u003e\n    \u003ca href=\"#all-lectures-for-course\"\u003eAll lectures for course\u003c/a\u003e\n  \u003c/li\u003e\n   \u003cli\u003e\n    \u003ca href=\"#create-lectures\"\u003eCreate lectures\u003c/a\u003e\n  \u003c/li\u003e\n    \u003cli\u003e\n    \u003ca href=\"#delete-lecture\"\u003eDelete lecture\u003c/a\u003e\n  \u003c/li\u003e\n    \u003cli\u003e\n    \u003ca href=\"#all-materials-for-lecture\"\u003eAll materials for lecture\u003c/a\u003e\n  \u003c/li\u003e\n    \u003cli\u003e\n    \u003ca href=\"#edit-the-material\"\u003eEdit the material\u003c/a\u003e\n  \u003c/li\u003e\n    \u003cli\u003e\n    \u003ca href=\"#delete-material\"\u003eDelete material\u003c/a\u003e\n  \u003c/li\u003e\n   \u003cli\u003e\n    \u003ca href=\"#all-reviews-for-the-course\"\u003eAll reviews for the course\u003c/a\u003e\n  \u003c/li\u003e\n   \u003cli\u003e\n    \u003ca href=\"#create-review-for-the-course\"\u003eCreate review for the course\u003c/a\u003e\n  \u003c/li\u003e\n    \u003cli\u003e\n    \u003ca href=\"#unit-tests-and-code-coverage\"\u003eUnit tests and code coverage\u003c/a\u003e\n  \u003c/li\u003e\n   \u003cli\u003e\n    \u003ca href=\"#error-page\"\u003eError page\u003c/a\u003e\n  \u003c/li\u003e\n\u003c/ul\u003e\n\n## User registration\nOn the registration page, you can create a new user profile as a student. To become an instructor first you have to be registered as a student and after that in the application there is a button where you can become instructor.\n![user-registration](https://github.com/vbukoev/CourseNet/assets/105813259/2e047b95-3990-4727-aeb5-51d0492509f7)\n\n## Home page\nOn the home page, Guests can view the all of the available courses but they can not enroll into them or become instructors. To do this, they have to be registered users.\n![home-page](https://github.com/vbukoev/CourseNet/assets/105813259/d90d803a-457d-4362-9c83-84ce19112e8b)\n\n## Admin home page\nThis is the admin home page, where administators can see all of the content available in the application. They can test the application and see statistics for the app. There they can find all of the courses, they can add a course, they can see all of the courses which they have created. They can also see the enrolled courses and all of the users in the app.\n![admin-home-page](https://github.com/vbukoev/CourseNet/assets/105813259/25699a04-7dfc-4afe-92b8-6cc0b30a685e)\n\n## All courses\nHere you can see all of the available courses in the application. If you are an admin or the instructor, who created the course, you can either choose to see details of the course, edit it or to delete it. \n![all-courses](https://github.com/vbukoev/CourseNet/assets/105813259/7eb25df1-3392-442b-8071-8a5aa9713705)\n\n## Details section of the course\nHere you can see the details of the course - description, price, category, difficulty and the end date of course. Also here is the option to see all the lectures and reviews of the course. Another useful information displayed here is the information about the creator(the instructor) of the course - his email and phone number.\n![course-details](https://github.com/vbukoev/CourseNet/assets/105813259/8e512be8-b654-49b8-8bbf-38c273e6fb30)\n\n## Edit section of the course\nHere you can edit the course. You can change its description, price, category, difficulty and the end date of course and after all of the changes you can submit them to the application.  \n![course-edit](https://github.com/vbukoev/CourseNet/assets/105813259/0311df60-4c25-4be6-9b13-6a59aa9b3bef)\n\n## Delete section of the course\nBelow you can see the delete page when you try to delete a course. To do it you have to have either administrator role in the application or you have to be the instructor who created the course.\n![course-delete](https://github.com/vbukoev/CourseNet/assets/105813259/16932c1b-6bfd-4e86-83bd-d7004b75bcbc)\n\n## My courses\nThe page where you can see the courses which you enrolled.\n![courses-mine](https://github.com/vbukoev/CourseNet/assets/105813259/dd9fde5d-63fd-465d-a5f7-7db254f4da3f)\n\n## Become instructor page\nThis page is the place where you can become an instructor.\n![instructor-become](https://github.com/vbukoev/CourseNet/assets/105813259/5c69ae36-ded0-43bb-9ea5-7f50d94f2db2)\n\n## All categories\nThe page where all categories are shown. There are buttons for the details, delete button, edit button.\n![all-categories](https://github.com/vbukoev/CourseNet/assets/105813259/f76369db-1ef2-4461-938f-9777885da3ca)\n\n## Create category page\nYou can create a category first if you have the permissions to do it. It can be done by only submitting the category name.\n![create-category-page](https://github.com/vbukoev/CourseNet/assets/105813259/dda8b9d8-34b6-48cf-abed-358f885a6b62)\n\n## Details of the category\nThe page where the name of the category is shown.\n![details-of-the-category](https://github.com/vbukoev/CourseNet/assets/105813259/42b695ee-a7dd-4325-9c26-aa041db79504)\n\n## Edit category page\nThis is the page where you can change the category name.\n![edit-category-page](https://github.com/vbukoev/CourseNet/assets/105813259/b4a9c0b4-db42-41b9-ac44-cb0f83f7636b)\n\n## Delete category page\nThe page where you are questioned if you are sure you want to delete the category. If you delete the category, you are going to delete all of the courses which are from this category. \n![delete-category-page](https://github.com/vbukoev/CourseNet/assets/105813259/35fc3eea-9849-4c20-89d1-a736a165663f)\n\n## All lectures for course\nThis is the page where you can see all of the lectures which are related to the course you want to check. There are buttons for deleting the lecture if you have the permissions, adding materials to the lecture, or to see the current materials available.\n![all-lectures-for-course](https://github.com/vbukoev/CourseNet/assets/105813259/63ec8fb2-1588-47b0-ae00-6fb9c445b688)\n\n## Create lectures\nIf the user wants to create lecture, first of all the user has to have the permissions. After that, he/she has to add the title of the lecture and its description. After all the last thing is to hit the submit button.  \n![create-lectures](https://github.com/vbukoev/CourseNet/assets/105813259/2802d4d1-c7f3-45b1-ad89-010710cc1a2d)\n\n## Delete lecture\nThe delete page of the lecture shows its name and questions its instructor(creator)/administrator if he/she is sure.\n![delete-lecture](https://github.com/vbukoev/CourseNet/assets/105813259/0e139ee5-8863-4046-b868-bcd7bcd35ab8)\n\n## All materials for lecture\nThe page where all materials for the lectures are shown.\n![all-materials-page](https://github.com/vbukoev/CourseNet/assets/105813259/6f0e75a2-247b-40c6-81eb-14ad2b199b47)\n\n## Edit the material\nThere is an option to change the name of the material and to change its description.\n![edit-material](https://github.com/vbukoev/CourseNet/assets/105813259/36839cb1-cec3-4c18-9b55-779637920b7c)\n\n## Delete material\nThe page where you are questioned if you are sure you want to delete the material. You can delete it if you have the needed permissions.\n![delete-material](https://github.com/vbukoev/CourseNet/assets/105813259/05dd7aad-008b-4f7b-8381-9312821dc8ea)\n\n## All reviews for the course\nAll reviews shown in this page.\n![all-reviews-for-the-course](https://github.com/vbukoev/CourseNet/assets/105813259/cd0cd960-169d-482a-87d5-a6bfebf21990)\n\n## Create review for the course\nThe page where you can add review to the course by adding rating for the course(from 1 to 10) and comment to the review.\n![create-review-for-the-course](https://github.com/vbukoev/CourseNet/assets/105813259/c01a430f-c6c0-4d54-9b10-07576b44d79e)\n\n## Unit tests and code coverage\nOn the pictures below, it is shown the number of unit tests and the code coverage of unit tests of the services.\n![unit-tests-passing](https://github.com/vbukoev/CourseNet/assets/105813259/3727d44b-6b65-44d1-93de-df0afc882f24)\n\n![code-coverage-services](https://github.com/vbukoev/CourseNet/assets/105813259/bf81b4e8-73d5-4864-8acb-dd93493f45c4)\n\n## Error page \n![error-page-401](https://github.com/vbukoev/CourseNet/assets/105813259/ef379d65-ff15-454b-8095-7dc49a30d227)\n\n![error-page-404](https://github.com/vbukoev/CourseNet/assets/105813259/28aec0b4-ec71-4f40-bcc9-c495efbea576)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvbukoev%2Fcoursenet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvbukoev%2Fcoursenet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvbukoev%2Fcoursenet/lists"}