{"id":23984703,"url":"https://github.com/sayatsap/asp-ecommerce","last_synced_at":"2026-05-03T11:33:00.178Z","repository":{"id":247280654,"uuid":"825440669","full_name":"sayatsap/asp-ecommerce","owner":"sayatsap","description":null,"archived":false,"fork":false,"pushed_at":"2024-07-30T20:15:07.000Z","size":10732,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-19T12:50:01.299Z","etag":null,"topics":["apigateway","asp-net","csharp","docker","epay-api","epayment","httpclient","makefile","microservices","ocelot","postgresql"],"latest_commit_sha":null,"homepage":"","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/sayatsap.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-07-07T19:25:37.000Z","updated_at":"2024-07-30T20:15:10.000Z","dependencies_parsed_at":"2024-07-07T20:41:18.285Z","dependency_job_id":"076e13ad-7005-4f06-9823-dba5579f9b47","html_url":"https://github.com/sayatsap/asp-ecommerce","commit_stats":null,"previous_names":["nomadbala/asp-ecommerce","sayatsap/asp-ecommerce"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sayatsap/asp-ecommerce","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayatsap%2Fasp-ecommerce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayatsap%2Fasp-ecommerce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayatsap%2Fasp-ecommerce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayatsap%2Fasp-ecommerce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sayatsap","download_url":"https://codeload.github.com/sayatsap/asp-ecommerce/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayatsap%2Fasp-ecommerce/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32567322,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: 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":["apigateway","asp-net","csharp","docker","epay-api","epayment","httpclient","makefile","microservices","ocelot","postgresql"],"created_at":"2025-01-07T13:37:08.529Z","updated_at":"2026-05-03T11:33:00.163Z","avatar_url":"https://github.com/sayatsap.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Интернет-магазин\n\n## Описание\n\nЭтот проект представляет собой REST API для управления интернет-магазином, включающий несколько микросервисов: Пользователи, Товары, Заказы, Платежи и API Gateway. Сервис поддерживает CRUD операции и предоставляет возможность интеграции с API ePayment.kz для обработки платежей.\n\n## Цели\n\n- Управление пользователями, товарами, заказами и платежами.\n- Обеспечение единого входа через API Gateway.\n- Интеграция с API ePayment.kz для обработки платежей.\n- Контейнеризация и деплой с использованием Docker и Render.\n\n## Микросервисы\n\n### Пользователи\n\n- **Идентификатор:** Уникальный идентификатор пользователя.\n- **Имя:** Полное имя пользователя.\n- **Email:** Электронная почта пользователя.\n- **Адрес:** Адрес пользователя.\n- **Дата регистрации:** Дата регистрации пользователя.\n- **Роль:** Роль пользователя в системе (например, администратор, клиент).\n\n### Товары\n\n- **Идентификатор:** Уникальный идентификатор товара.\n- **Название:** Название товара.\n- **Описание:** Краткое описание товара.\n- **Цена:** Цена товара.\n- **Категория:** Категория товара.\n- **Количество на складе:** Количество товара на складе.\n- **Дата добавления:** Дата добавления товара.\n\n### Заказы\n\n- **Идентификатор:** Уникальный идентификатор заказа.\n- **Пользователь:** Идентификатор пользователя, сделавшего заказ.\n- **Товары:** Список идентификаторов товаров в заказе.\n- **Общая стоимость:** Общая стоимость заказа.\n- **Дата заказа:** Дата создания заказа.\n- **Статус заказа:** Статус заказа (новый, в обработке, выполнен).\n\n### Платежи\n\n- **Идентификатор:** Уникальный идентификатор платежа.\n- **Пользователь:** Идентификатор пользователя, сделавшего платеж.\n- **Заказ:** Идентификатор заказа, за который произведен платеж.\n- **Сумма:** Сумма платежа.\n- **Дата платежа:** Дата совершения платежа.\n- **Статус платежа:** Статус платежа (успешный, неуспешный).\n- **Интеграция с ePayment.kz:** Реализован функционал оплаты через API ePayment.kz.\n\n### API Gateway\n\n- **Описание:** Обеспечивает единый вход для всех запросов и маршрутизацию к соответствующим микросервисам.\n- **Логика маршрутизации:** Направляет запросы в зависимости от пути и метода HTTP к нужным микросервисам.\n\n## Пути API\n\n### /users\n\n- `GET /users` - Получить список всех пользователей.\n- `POST /users` - Создать нового пользователя.\n- `GET /users/{id}` - Получить данные конкретного пользователя.\n- `PUT /users/{id}` - Обновить данные конкретного пользователя.\n- `DELETE /users/{id}` - Удалить конкретного пользователя.\n- `GET /users/search?name={name}` - Найти пользователей по имени.\n- `GET /users/search?email={email}` - Найти пользователей по электронной почте.\n\n### /products\n\n- `GET /products` - Получить список всех товаров.\n- `POST /products` - Создать новый товар.\n- `GET /products/{id}` - Получить данные конкретного товара.\n- `PUT /products/{id}` - Обновить данные конкретного товара.\n- `DELETE /products/{id}` - Удалить конкретный товар.\n- `GET /products/search?name={name}` - Найти товары по названию.\n- `GET /products/search?category={category}` - Найти товары по категории.\n\n### /orders\n\n- `GET /orders` - Получить список всех заказов.\n- `POST /orders` - Создать новый заказ.\n- `GET /orders/{id}` - Получить данные конкретного заказа.\n- `PUT /orders/{id}` - Обновить данные конкретного заказа.\n- `DELETE /orders/{id}` - Удалить конкретный заказ.\n- `GET /orders/search?user={userId}` - Найти заказы по идентификатору пользователя.\n- `GET /orders/search?status={status}` - Найти заказы по статусу.\n\n### /payments\n\n- `GET /payments` - Получить список всех платежей.\n- `POST /payments` - Создать новый платеж, используя API ePayment.kz.\n- `GET /payments/{id}` - Получить данные конкретного платежа.\n- `PUT /payments/{id}` - Обновить данные конкретного платежа.\n- `DELETE /payments/{id}` - Удалить конкретный платеж.\n- `GET /payments/search?user={userId}` - Найти платежи по идентификатору пользователя.\n- `GET /payments/search?order={orderId}` - Найти платежи по идентификатору заказа.\n- `GET /payments/search?status={status}` - Найти платежи по статусу.\n\n## Технические требования\n\n- **CRUD операции:** Реализованы для пользователей, товаров, заказов и платежей.\n- **База данных:** PostgreSQL для хранения данных.\n- **Контейнеризация:** Используются Docker и Docker Compose для контейнеризации микросервисов.\n- **Автоматизация:** Makefile для автоматизации команд.\n- **Тестирование:** Юнит-тесты для API каждого микросервиса.\n- **Деплой:** Задеплоено на Render.\n\n## Установка и запуск\n\n1. **Клонируйте репозиторий:**\n\n    ```bash\n    git clone https://github.com/ваш_пользователь/интернет-магазин.git\n    cd интернет-магазин\n    ```\n\n2. **Настройте Docker и Docker Compose:**\n\n    ```bash\n    docker-compose up --build\n    ```\n\n3. **Запустите Makefile для автоматизации:**\n\n    ```bash\n    make all\n    ```\n\n4. **Доступ к API:**\n\n    - Пользователи: `http://localhost:8080/users`\n    - Товары: `http://localhost:8080/products`\n    - Заказы: `http://localhost:8080/orders`\n    - Платежи: `http://localhost:8080/payments`\n\n## Документация\n\n- **Документация по API** доступна через Swagger UI по адресу: `http://localhost:8080/swagger-ui.html`.\n\n## Развертывание на Render\n\n1. **Создайте проект на Render и настройте автоматический деплой:**\n\n    - Настройте GitHub интеграцию.\n    - Укажите `docker-compose.yml` для развертывания.\n\n2. **Деплой:**\n\n    - Убедитесь, что проект успешно развернут и доступен по указанному URL.\n\n## Интеграция с ePayment.kz\n\n- Реализован функционал оплаты через API ePayment.kz в микросервисе \"Payment\".\n- Подробности и настройка интеграции описаны в документации по API ePayment.kz.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsayatsap%2Fasp-ecommerce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsayatsap%2Fasp-ecommerce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsayatsap%2Fasp-ecommerce/lists"}