{"id":41408272,"url":"https://github.com/iamarifdev/course-management","last_synced_at":"2026-01-23T13:28:55.863Z","repository":{"id":282594857,"uuid":"947944526","full_name":"iamarifdev/course-management","owner":"iamarifdev","description":"Course Management System - A clean, modular application built with CQRS, following SOLID principles and Clean Architecture. Features robust testing (unit, integration, functional) and architecture validation. Designed for maintainability, testability, and scalability.","archived":false,"fork":false,"pushed_at":"2025-04-19T12:14:35.000Z","size":1134,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-19T13:36:44.752Z","etag":null,"topics":["architecure-test","clean-architecture","cqrs","design-patterns","functional-test","integration-test","solid-principles","unit-test"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iamarifdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2025-03-13T13:51:46.000Z","updated_at":"2025-04-19T12:14:39.000Z","dependencies_parsed_at":"2025-03-15T17:31:05.308Z","dependency_job_id":"56f36377-df0c-4d56-9586-9ada1899e637","html_url":"https://github.com/iamarifdev/course-management","commit_stats":null,"previous_names":["iamarifdev/course-management"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/iamarifdev/course-management","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamarifdev%2Fcourse-management","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamarifdev%2Fcourse-management/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamarifdev%2Fcourse-management/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamarifdev%2Fcourse-management/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iamarifdev","download_url":"https://codeload.github.com/iamarifdev/course-management/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamarifdev%2Fcourse-management/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28693324,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T11:01:27.039Z","status":"ssl_error","status_checked_at":"2026-01-23T11:00:26.909Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["architecure-test","clean-architecture","cqrs","design-patterns","functional-test","integration-test","solid-principles","unit-test"],"created_at":"2026-01-23T13:28:55.744Z","updated_at":"2026-01-23T13:28:55.857Z","avatar_url":"https://github.com/iamarifdev.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"## To add a migration\n\n#### Change the directory to the infrastructure project\n```bash\ncd src/CourseManagement.Infrastructure\n```\n\n#### Add a migration\n```bash\ndotnet ef migrations add \u003cMigrationName\u003e --startup-project ../CourseManagement.API -o ./Database/Migrations/ --context ApplicationDbContext\n```\n\n#### Update the database\n```bash\ndotnet ef database update --startup-project ../CourseManagement.API --context ApplicationDbContext\n```\n\n## To run the project using Docker compose\n\n### To start the services with overrides\n- Change the directory to the root of the project\n- Run the following command\n    ```bash\n    docker compose -f docker-compose.yml -f docker-compose.override.yml up -d\n    ```\n\n### To stop the services\n- Run the following command\n    ```bash\n      docker compose -f docker-compose.yml -f docker-compose.override.yml down\n    ```\n\n## To see the structure logs and traces of the services\nVisit the following link address in your browser\nhttp://localhost:8082\n\n## To run the tests\n- ### Change the directory to root directory\n  ```bash\n  dotnet test\n  ```\n\n**Important:** For functional tests **Docker** must be **installed and running**.\nIt uses TestContainers to run the tests which requires Docker to be running.\nRef: https://testcontainers.com/\n\n## To check the Swagger API documentation\nVisit the following link address in your browser\nhttp://localhost:8080/swagger\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamarifdev%2Fcourse-management","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiamarifdev%2Fcourse-management","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamarifdev%2Fcourse-management/lists"}