{"id":21722549,"url":"https://github.com/mkloz/citywheels-backend","last_synced_at":"2026-02-07T04:31:18.862Z","repository":{"id":180090868,"uuid":"664050945","full_name":"mkloz/online-store-backend","owner":"mkloz","description":"Nestjs backend for online store(citywheels)  https://api.mkloz.com/store/api/docs","archived":false,"fork":false,"pushed_at":"2024-12-24T14:22:59.000Z","size":1709,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-24T15:34:37.105Z","etag":null,"topics":["backend","docker","e-commerce","jest","mysql","nestjs","prisma","typescript"],"latest_commit_sha":null,"homepage":"https://api.mkloz.com/store/api/docs","language":"TypeScript","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/mkloz.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":"2023-07-08T19:33:19.000Z","updated_at":"2024-12-24T14:23:04.000Z","dependencies_parsed_at":"2024-11-26T03:18:00.122Z","dependency_job_id":null,"html_url":"https://github.com/mkloz/online-store-backend","commit_stats":null,"previous_names":["kloz-mykhail/online-store","mkloz/online-store","mkloz/online-store-backend"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkloz%2Fonline-store-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkloz%2Fonline-store-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkloz%2Fonline-store-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkloz%2Fonline-store-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mkloz","download_url":"https://codeload.github.com/mkloz/online-store-backend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235621565,"owners_count":19019522,"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":["backend","docker","e-commerce","jest","mysql","nestjs","prisma","typescript"],"created_at":"2024-11-26T02:29:41.500Z","updated_at":"2025-10-07T11:31:05.630Z","avatar_url":"https://github.com/mkloz.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n   \u003ch1 align=\"center\"\u003e\n      \u003ca href=\"http://online-store.mkloz.com\" target=\"blank\"\u003e\n      \u003cimg src=\"./assets/logo.svg\" width=\"100\" /\u003e\n      \u003cbr\u003e Citywheels\u003c/a\u003e\u003cbr\u003e \n   \u003c/h1\u003e\n   \u003ch3\u003evehicle online shop backend\u003c/h3\u003e\n   \u003ch6\u003eDeveloped with the software and tools listed below.\u003c/h6\u003e\n   \u003cimg src=\"https://img.shields.io/badge/JavaScript-F7DF1E.svg?style\u0026logo=JavaScript\u0026logoColor=black\" alt=\"JavaScript\" /\u003e\n   \u003cimg src=\"https://img.shields.io/badge/Prettier-F7B93E.svg?style\u0026logo=Prettier\u0026logoColor=black\" alt=\"Prettier\" /\u003e\n   \u003cimg src=\"https://img.shields.io/badge/Jest-C21325.svg?style\u0026logo=Jest\u0026logoColor=white\" alt=\"Jest\" /\u003e\n   \u003cimg src=\"https://img.shields.io/badge/ESLint-4B32C3.svg?style\u0026logo=ESLint\u0026logoColor=white\" alt=\"ESLint\" /\u003e\n   \u003cimg src=\"https://img.shields.io/badge/MySQL-4479A1.svg?style\u0026logo=MySQL\u0026logoColor=white\" alt=\"MySQL\" /\u003e\n   \u003cimg src=\"https://img.shields.io/badge/TypeScript-3178C6.svg?style\u0026logo=TypeScript\u0026logoColor=white\" alt=\"TypeScript\" /\u003e\n   \u003cimg src=\"https://img.shields.io/badge/Prisma-2D3748.svg?style\u0026logo=Prisma\u0026logoColor=white\" alt=\"Prisma\" /\u003e\n   \u003cimg src=\"https://img.shields.io/badge/Docker-2496ED.svg?style\u0026logo=Docker\u0026logoColor=white\" alt=\"Docker\" /\u003e\n   \u003cimg src=\"https://img.shields.io/badge/GitHub%20Actions-2088FF.svg?style\u0026logo=GitHub-Actions\u0026logoColor=white\" alt=\"GitHub%20Actions\" /\u003e\n   \u003c/p\u003e\n   \u003cimg src=\"https://img.shields.io/github/languages/top/mkloz/online-store?style\u0026color=5D6D7E\" alt=\"GitHub top language\" /\u003e\n   \u003cimg src=\"https://img.shields.io/github/languages/code-size/mkloz/online-store?style\u0026color=5D6D7E\" alt=\"GitHub code size in bytes\" /\u003e\n   \u003cimg src=\"https://img.shields.io/github/commit-activity/m/mkloz/online-store?style\u0026color=5D6D7E\" alt=\"GitHub commit activity\" /\u003e\n   \u003cimg src=\"https://img.shields.io/github/license/mkloz/online-store?style\u0026color=5D6D7E\" alt=\"GitHub license\" /\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n   \u003cp\u003e\u003ca href=\"https://online-store.mkloz.online\"\u003e\u003cimg src=\"https://img.shields.io/badge/Frontend-Online--Store-blue.svg\" alt=\"Citywheels Frontend\"\u003e\u003c/a\u003e\n      \u003ca href=\"https://api.mkloz.online/store/api/docs\"\u003e\u003cimg src=\"https://img.shields.io/badge/Api-Citywheels.api-green.svg\" alt=\"Citywheels Api\"\u003e\u003c/a\u003e\n   \u003c/p\u003e\n\u003c/div\u003e\n\n## 📒 Table of Contents\n\n- [📒 Table of Contents](#-table-of-contents)\n- [📍 Overview](#-overview)\n- [⚙️ Features](#️-features)\n- [📂 Project Structure](#-project-structure)\n- [🐬 Database Structure](#-database-structure)\n- [🚀 Getting Started](#-getting-started)\n  - [✔️ Prerequisites](#️-prerequisites)\n  - [📦 Native installation](#-native-installation)\n  - [🎮 Starting server](#-starting-server)\n  - [🧪 Running Tests](#-running-tests)\n- [🤝 Contributing](#-contributing)\n- [📄 License](#-license)\n\n---\n\n## 📍 Overview\n\nWelcome to the backend documentation for Citywheels, the online store that allows you to shop for various vehicles. This documentation provides an overview of the key features, technologies used, and how to get started with the project.\n\n---\n\n## ⚙️ Features\n\n- Product listings: View a list of available products with details such as title, price, description, and images.\n- Search functionality: Search for products based on keywords or specific criteria.\n- User authentication: Allow users to create accounts, log in, and manage their profiles.\n- Shopping cart: Add products to a cart, update quantities, and remove items.\n- Order management: Allow users to view their past orders, track packages, and manage returns.\n- Admin dashboard: Provide an administrative roles for managing products, users, orders, and other site settings.\n- Checkout process: Provide a seamless checkout experience with multiple payment options(comming soon).\n\n---\n\n## 🐬 Database Structure\n\n\u003cp\u003e\n  \u003cimg src=\"assets/db.svg\" alt=\"Citywheels Database Structure\"\u003e\n\u003c/p\u003e\n\n---\n\n## 🚀 Getting Started\n\n### ✔️ Prerequisites\n\nBefore you begin, ensure that you have the following prerequisites installed:\n\n- For native running:\n  \u003e - `ℹ️ node:18`\n  \u003e - `ℹ️ npm 9+`\n- For docker running\n\n  \u003e - `ℹ️ docker`\n  \u003e - `ℹ️ docker compose(optional if you know how use docker)`\n\n---\n\n### 📦 Native installation\n\n1. Clone the online-store repository:\n\n```sh\ngit clone https://github.com/mkloz/online-store-backend\n```\n\n2. Change to the project directory:\n\n```sh\ncd online-store-backend\n```\n\n3. Install the dependencies:\n\n```sh\nnpm install\n```\n\n---\n\n### 🎮 Starting server\n\nAfter installation you can start store server. You will find swagger documentation on GET /api/docs route, hoever only if env != production\n\nSet up .env variables\n\n```bash\n\ncp .env.example .env\n\n```\n\nExecute migrations for database\n\n```bash\nnpm run migrate\n```\n\nThan if you installed project localy\n\n```bash\nnpm run start\n```\n\nOR\n\nUsing docker compose\n\nStart database(if you already have one skip this step) and server\n\n```bash\nsudo docker compose -f docker-compose-dev.yaml up mysql store\n```\n\n---\n\n### 🧪 Running Tests\n\nSet up test eviroments(in .env file). Be carefull couse it will clean all data, so DO NOT USE PRODUCTION ENV\n\n```sh\nnpm run test\n```\n\n---\n\n## 🤝 Contributing\n\nContributions are always welcome! Please follow these steps:\n\n1. Fork the project repository. This creates a copy of the project on your account that you can modify without affecting the original project.\n2. Clone the forked repository to your local machine using a Git client like Git or GitHub Desktop.\n3. Create a new branch with a descriptive name (e.g., `new-feature-branch` or `bugfix-issue-123`).\n\n```sh\ngit checkout -b new-feature-branch\n```\n\n4. Make changes to the project's codebase.\n5. Commit your changes to your local branch with a clear commit message that explains the changes you've made.\n\n```sh\ngit commit -m 'Implemented new feature.'\n```\n\n6. Push your changes to your forked repository on GitHub using the following command\n\n```sh\ngit push origin new-feature-branch\n```\n\n7. Create a new pull request to the original project repository. In the pull request, describe the changes you've made and why they're necessary.\n   The project maintainers will review your changes and provide feedback or merge them into the main branch.\n\n---\n\n## 📄 License\n\nThe \"online-store\" project is licensed under the [MIT License](LICENSE). Feel free to use, modify, and distribute the code as needed.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkloz%2Fcitywheels-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmkloz%2Fcitywheels-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkloz%2Fcitywheels-backend/lists"}