{"id":17538636,"url":"https://github.com/marijatopalova/taskmanagementsystem","last_synced_at":"2026-04-18T15:33:23.208Z","repository":{"id":258442048,"uuid":"861443516","full_name":"marijatopalova/TaskManagementSystem","owner":"marijatopalova","description":"A RESTful API built using ASP.NET Core (.NET 8) for managing tasks, users, and projects. This API allows for the creation, updating, assignment, and tracking of tasks across multiple projects, along with user management.","archived":false,"fork":false,"pushed_at":"2024-09-29T11:15:59.000Z","size":58,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T04:13:33.410Z","etag":null,"topics":["api-versioning","asp-net","asp-net-core","aspnetcore","dotnet","dotnet-core","entity-framework","entity-framework-core","moq","moq-framework","net8-web-api","nunit","nunit-tests","repository-pattern","restful-api","sqlserver","swagger","swagger-ui","swashbuckle","unit-testing"],"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/marijatopalova.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}},"created_at":"2024-09-22T22:36:05.000Z","updated_at":"2024-10-02T12:42:07.000Z","dependencies_parsed_at":"2024-10-22T23:41:48.654Z","dependency_job_id":null,"html_url":"https://github.com/marijatopalova/TaskManagementSystem","commit_stats":null,"previous_names":["marijatopalova/taskmanagementsystem"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marijatopalova%2FTaskManagementSystem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marijatopalova%2FTaskManagementSystem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marijatopalova%2FTaskManagementSystem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marijatopalova%2FTaskManagementSystem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marijatopalova","download_url":"https://codeload.github.com/marijatopalova/TaskManagementSystem/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246135763,"owners_count":20729058,"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":["api-versioning","asp-net","asp-net-core","aspnetcore","dotnet","dotnet-core","entity-framework","entity-framework-core","moq","moq-framework","net8-web-api","nunit","nunit-tests","repository-pattern","restful-api","sqlserver","swagger","swagger-ui","swashbuckle","unit-testing"],"created_at":"2024-10-20T21:03:32.991Z","updated_at":"2026-04-18T15:33:23.154Z","avatar_url":"https://github.com/marijatopalova.png","language":"C#","readme":"# Task Management API\n\n## Overview\n\nA RESTful API built using ASP.NET Core (.NET 8) for managing tasks, users, and projects. This API allows for the creation, updating, assignment, and tracking of tasks across multiple projects, along with user management.\n\n---\n\n## Features\n\n- **User Management:** Create, update, delete, and retrieve user data.\n- **Task Management:** Create, update, delete, and retrieve tasks associated with users and projects.\n- **Project Management:** Manage projects and associate users and tasks with each project.\n- **Swagger Integration:** Comprehensive API documentation with descriptions for each endpoint.\n- **NUnit Testing:** Unit tests for services and repositories.\n\n---\n\n## Technologies\n\n- **ASP.NET Core** (.NET 8)\n- **Entity Framework Core**\n- **NUnit** (for unit testing)\n- **Swagger / Swashbuckle**\n- **SQL Server**\n\n---\n\n## Getting Started\n\n### Prerequisites\n\nEnsure you have the following installed:\n\n- [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0)\n- [SQL Server](https://www.microsoft.com/en-us/sql-server/sql-server-downloads)\n- Visual Studio or Visual Studio Code\n\n### Setup Instructions\n\n1. **Clone the repository:**\n\n    ```bash\n    git clone https://github.com/marijatopalova/TaskManagementSystem.git\n    cd TaskManagementSystem\n    ```\n\n2. **Update the connection string:**\n\n    In `appsettings.json`, update the connection string for your SQL Server instance:\n\n    ```json\n    \"ConnectionStrings\": {\n        \"DefaultConnection\": \"Server=YOUR_SERVER;Database=TaskManagementDb;Trusted_Connection=True;MultipleActiveResultSets=true\"\n    }\n    ```\n\n3. **Run database migrations:**\n\n    Apply the migrations to your database:\n\n    ```bash\n    dotnet ef database update\n    ```\n\n4. **Run the application:**\n\n    Start the application:\n\n    ```bash\n    dotnet run\n    ```\n\n5. **Access Swagger UI:**\n\n    Open [http://localhost:44330/swagger](http://localhost:44330/swagger) to explore the API documentation.\n\n---\n\n## API Endpoints\n\n### User Endpoints\n\n- **GET** `/api/user` - Get a list of users\n- **POST** `/api/user` - Create a new user\n- **GET** `/api/user/{userId}` - Get a user by ID\n- **GET** `/api/user/project/{projectId}` - Get a list of users by project ID\n\n### Task Endpoints\n\n- **GET** `/api/task/user/{userId}` - Get a task by user ID\n- **POST** `/api/task` - Create a new task\n- **GET** `/api/task/project/{projectId}` - Get a task by project ID\n- **PATCH** `/api/task/{taskId}` - Update a task\n- **GET** `/api/task/{taskId}` - Get a task by ID\n\n### Project Endpoints\n\n- **GET** `/api/project` - Get a list of projects\n- **POST** `/api/project` - Create a new project\n- **GET** `/api/project/{projectId}` - Get a project by ID\n- **POST** `/api/project/{projectId}/user/{userId}` - Add user to a project\n- **DELETE** `/api/project/{projectId}/user/{userId}` - Delete a user from the project\n\n---\n\n## Testing\n\nUnit tests are implemented using **NUnit**. To run the tests:\n\n```bash\ndotnet test\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarijatopalova%2Ftaskmanagementsystem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarijatopalova%2Ftaskmanagementsystem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarijatopalova%2Ftaskmanagementsystem/lists"}