{"id":26301891,"url":"https://github.com/leonkote/autopartsreplacementsystem","last_synced_at":"2026-02-11T16:37:50.378Z","repository":{"id":265069709,"uuid":"887238482","full_name":"LeonKote/AutoPartsReplacementSystem","owner":"LeonKote","description":"Приложение предоставляет REST API для управления автомобилями, запчастями и их заменами.","archived":false,"fork":false,"pushed_at":"2025-01-21T17:40:52.000Z","size":52,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-12T16:17:08.033Z","etag":null,"topics":["aspnetcore","backend-development","car-parts-management","clean-architecture","csharp","dependency-injection","efcore","postgresql","software-architecture","solid-principles","web-api"],"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/LeonKote.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":"2024-11-12T12:04:28.000Z","updated_at":"2025-05-08T11:51:19.000Z","dependencies_parsed_at":"2025-01-13T11:21:31.785Z","dependency_job_id":"fe683fdc-0990-4eba-b75d-cde797b2bb8f","html_url":"https://github.com/LeonKote/AutoPartsReplacementSystem","commit_stats":null,"previous_names":["leonkote/autopartsreplacementsystem"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/LeonKote/AutoPartsReplacementSystem","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeonKote%2FAutoPartsReplacementSystem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeonKote%2FAutoPartsReplacementSystem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeonKote%2FAutoPartsReplacementSystem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeonKote%2FAutoPartsReplacementSystem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LeonKote","download_url":"https://codeload.github.com/LeonKote/AutoPartsReplacementSystem/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeonKote%2FAutoPartsReplacementSystem/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29338506,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T16:14:43.024Z","status":"ssl_error","status_checked_at":"2026-02-11T16:14:15.258Z","response_time":97,"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":["aspnetcore","backend-development","car-parts-management","clean-architecture","csharp","dependency-injection","efcore","postgresql","software-architecture","solid-principles","web-api"],"created_at":"2025-03-15T07:17:20.694Z","updated_at":"2026-02-11T16:37:50.361Z","avatar_url":"https://github.com/LeonKote.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚗 Система учета замененных запчастей в автомобиле\n\n![logo](https://i.imgur.com/tdB6F47.png)\n\n---\n\nПриложение предоставляет REST API для управления автомобилями, запчастями и их заменами. Разработано с использованием **.NET 8** и **Entity Framework Core**, поддерживает документирование через Swagger и автоматическое применение миграций.\n\n## 📋 Возможности\n\n- Управление списком автомобилей:\n  - Добавление автомобиля.\n  - Удаление автомобиля.\n  - Поиск автомобилей по марке, модели или диапазону годов выпуска.\n\n- Управление списком запчастей:\n  - Добавление запчастей.\n  - Удаление запчастей.\n  - Получение списка запчастей.\n\n- Управление заменами запчастей:\n  - Добавление записи о замене.\n  - Удаление записи о замене.\n  - Получение всех замен для конкретного автомобиля.\n\n---\n\n## 🛠️ Технологический стек\n\n- **.NET 8** — платформа для создания современных приложений.\n- **Entity Framework Core** — ORM для работы с базами данных.\n- **PostgreSQL** — СУБД для хранения данных.\n- **Functional Extensions for C#** — обработка успешных и ошибочных результатов операций.\n- **Swagger** — автоматическая генерация документации для API.\n\n---\n\n## ⚙️ Основные сущности\n\n### Car (Машина)\n- **Id**: Уникальный идентификатор.\n- **Make**: Марка автомобиля (максимум 50 символов).\n- **Model**: Модель автомобиля (максимум 50 символов).\n- **Year**: Год выпуска.\n\n### Part (Запчасть)\n- **Id**: Уникальный идентификатор.\n- **Name**: Название запчасти (максимум 50 символов).\n- **Description**: Описание запчасти (максимум 50 символов).\n\n### PartReplacement (Замена запчасти)\n- **Id**: Уникальный идентификатор.\n- **CarId**: Ссылка на автомобиль.\n- **PartId**: Ссылка на запчасть.\n- **Date**: Дата замены (используется `DateOnly`).\n\n---\n\n## 🌐 API Маршруты\n\n### Машины\n- `GET /cars` — Получить список машин.\n- `POST /cars` — Добавить новую машину.\n- `DELETE /cars/{carId}` — Удалить машину по ID.\n\n### Запчасти\n- `GET /parts` — Получить список запчастей.\n- `POST /parts` — Добавить новую запчасть.\n- `DELETE /parts/{partId}` — Удалить запчасть по ID.\n\n### Замены запчастей\n- `GET /partReplacements/{carId}` — Получить все замены для автомобиля.\n- `POST /partReplacements/part-replacement` — Добавить новую замену запчасти.\n- `DELETE /partReplacements/part-replacement/{partReplacementId}` — Удалить запись о замене.\n\n---\n\n## 🔧 Локальный запуск\n\n1. Убедитесь, что установлен **.NET 8 SDK** и **PostgreSQL**.\n2. Клонируйте репозиторий:\n   ```bash\n   git clone https://github.com/your-repo-name.git\n   cd your-repo-name\n   ```\n3. Настройте строку подключения в `appsettings.json`:\n   ```json\n   {\n       \"ConnectionStrings\": {\n           \"Db\": \"Host=localhost;Port=5432;Database=CarService;Username=postgres;Password=yourpassword\"\n       }\n   }\n   ```\n4. Примените миграции:\n   ```bash\n   dotnet ef database update\n   ```\n5. Запустите приложение:\n   ```bash\n   dotnet run\n   ```\n6. Откройте Swagger-документацию по адресу: [https://localhost:7281/swagger/index.html](https://localhost:7281/swagger/index.html).\n\n---\n\n## 👨‍💻 Проект выполнили\n\n- **Сырятов Максим АТ-01 - идея, тестирование, оформление**\n- **Папушев Роман АТ-01 - разработка клиента**\n- **Ефимов Илья АТ-01 - разработка бекенда**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleonkote%2Fautopartsreplacementsystem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleonkote%2Fautopartsreplacementsystem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleonkote%2Fautopartsreplacementsystem/lists"}