{"id":23086812,"url":"https://github.com/mynickleo/onlinestore-typeorm-typescript","last_synced_at":"2026-05-05T09:33:02.765Z","repository":{"id":211232988,"uuid":"727862674","full_name":"mynickleo/OnlineStore-TypeOrm-TypeScript","owner":"mynickleo","description":"Backend online store with typescript, node.js, typeOrm, postgres","archived":false,"fork":false,"pushed_at":"2024-04-03T15:32:57.000Z","size":57,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-03T16:19:43.194Z","etag":null,"topics":["node","nodejs","postgresql","typeorm","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/mynickleo.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":"2023-12-05T18:21:34.000Z","updated_at":"2024-04-03T15:32:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"d4223030-1c09-47fe-9bad-9efab438d785","html_url":"https://github.com/mynickleo/OnlineStore-TypeOrm-TypeScript","commit_stats":null,"previous_names":["mynickleo/onlinestore-typeorm-typescript"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mynickleo/OnlineStore-TypeOrm-TypeScript","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mynickleo%2FOnlineStore-TypeOrm-TypeScript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mynickleo%2FOnlineStore-TypeOrm-TypeScript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mynickleo%2FOnlineStore-TypeOrm-TypeScript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mynickleo%2FOnlineStore-TypeOrm-TypeScript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mynickleo","download_url":"https://codeload.github.com/mynickleo/OnlineStore-TypeOrm-TypeScript/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mynickleo%2FOnlineStore-TypeOrm-TypeScript/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32643698,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"online","status_checked_at":"2026-05-05T02:00:06.033Z","response_time":54,"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":["node","nodejs","postgresql","typeorm","typescript"],"created_at":"2024-12-16T19:31:14.785Z","updated_at":"2026-05-05T09:33:02.742Z","avatar_url":"https://github.com/mynickleo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## BACKEND с использованием TypeOrm + TypeScript ##\n\n\u003e Перед началом использования - прописать в терминале **yarn**\n\n\u003e Запуск приложения можно осуществить по команде **yarn dev**\n\n#### Данные о подключении к Базе Данных лежат в ####\n\u003e src/data-source.ts\n\n### Кратенько по запросам и функционалу ###\n\n#### РЕГИСТРАЦИЯ, ЛОГИН, ПОЛЬЗОВАТЕЛИ ####\nРегистрация **/register** (post запрос), **пример**:\n```\n{\n    \"firstname\" : \"Sonny\",\n    \"surname\" : \"Crockett\",\n    \"email\" : \"sonnycrockett@gmail.com\",\n    \"password\" : \"12345665Test\"\n}\n```\n\n\u003e Пароль хешируется и в захешированном виде отправляется в базу данных\n\n\u003e Пользователю выдается базовая роль - USER (Если нужно проверить функционал админа, то переключите в коде на ADMIN)\n\n\u003e Пользователь получает свой id, по которому может посмотреть информацию о себе через get запрос (когда войдет в аккаунт) **/users/id**\n\n\u003e А Админы могут посмотреть всех по get запросу **/users**\n\nЛогин **/login** (post запрос), **пример**:\n```\n{\n    \"email\" : \"sonnycrockett@gmail.com\",\n    \"password\" : \"12345665Test\"\n}\n```\n\n\u003e Пользователь получает токен, который нужно записать в Headers Authorization, после чего может пользоваться остальным функционалом\n\nУдаление пользователя **/users** (delete запрос), **пример**:\n```\n{\n    \"userId\" : \"1\"\n}\n```\n\n#### РОЛИ ####\nРоль можно посмотреть по get запросу **/roles (/roles/id)**, установить роль пользователю через **post**\n```\n{\n    \"user_id\" : \"12\",\n    \"role\" : \"ADMIN\"\n}\n```\nУдалить *(удаляется сам каскадно, при удалении пользователя)* по **delete**\n```\n{\n    \"userId\" : \"1\"\n}\n```\n\n#### ПРОИЗВОДИТЕЛИ ####\nПроизводителей можно посмотреть по get запросу **/makers**, создать через **post**\n```\n{\n    \"name_maker\" : \"happyPC\"\n}\n```\nУдалить по **delete**\n```\n{\n    \"idMaker\" : \"4\"\n}\n```\nпоменять через **put**\n```\n{\n    \"idMaker\" : \"1\",\n    \"newNameMaker\" : \"Lamborghini\"\n}\n```\n\n\n### ТИПЫ ТОВАРОВ ###\nТипы товаров можно посмотреть по get запросу **/typesprod**, создать через post\n```\n{\n    \"name_type\" : \"computer\"\n}\n```\nудалить через **delete**\n```\n{\n    \"idType\" : \"1\"\n}\n```\nпоменять через **put**\n```\n{\n    \"idType\" : \"1\",\n    \"newNameType\" : \"cars\"\n}\n```\n\n### ТОВАРЫ ###\nТовары можно посмотреть по get запросу **/products (/products/id)**, создать через **post**\n```\n{\n    \"name_product\" : \"BoxPC Super\",\n    \"id_maker\" : \"1\",\n    \"id_type\" : \"1\",\n    \"price\" : \"1000\"\n}\n```\nудалить через **delete**\n{\n    \"idProduct\" : \"1\"\n}\nпоменять через **put**\n```\n{\n    \"id_product\" : \"1\",\n    \"name_product\" : \"BoxPC Super\",\n    \"id_maker\" : \"1\",\n    \"id_type\" : \"1\",\n    \"price\" : \"1000\"\n}\n```\n\n\n#### КОРЗИНА ####\nКорзину можно посмотреть по запросу get запросу **/basket/id**, положить товар в корзину через **post**\n```\n{\n    \"user_id\" : \"1\",\n    \"product_id\" : \"1\",\n    \"count_product\" : \"1\"\n}\n```\nудаляется через **delete**\n```\n{\n    \"idUser\" : \"1\",\n    \"idProduct\" : \"1\"\n}\n```\n\u003e Также корзина удаляется каскадно при удалении пользователя\n\n\n\n\n#### ЗАКАЗЫ ####\n\u003e Общие заказы **(id заказа, id пользователя)** можно посмотреть по get запросу /orders/id\n\n\u003e Детально заказ **(id заказа, id покупателя, id товара, количество, дату)** можно посмотреть по get запросу /orders_details/id\n\nСоздать заказ можно по post запросу **(/orders)** *(из корзины товары переместятся в заказ у указанного пользователя, сама корзина очистится)*\n```\n{\n    \"idUser\" : \"1\"\n}\n```\nудалить по **delete**\n```\n{\n    \"idOrder\" : \"1\"\n}\n```\nизменить товар в заказе по **put**\n```\n{\n    \"id_order\" : \"1\",\n    \"id_product\" : \"1\",\n    \"count_product\" : \"2\"\n}\n```\n\u003e Также заказы удалятся каскадно при удалении пользователя","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmynickleo%2Fonlinestore-typeorm-typescript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmynickleo%2Fonlinestore-typeorm-typescript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmynickleo%2Fonlinestore-typeorm-typescript/lists"}