Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mkloz/online-store-backend
Nestjs backend for online store(citywheels) https://api.mkloz.com/store/api/docs
https://github.com/mkloz/online-store-backend
backend docker e-commerce jest mysql nestjs prisma typescript
Last synced: 11 days ago
JSON representation
Nestjs backend for online store(citywheels) https://api.mkloz.com/store/api/docs
- Host: GitHub
- URL: https://github.com/mkloz/online-store-backend
- Owner: mkloz
- License: mit
- Created: 2023-07-08T19:33:19.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-24T14:22:59.000Z (about 1 month ago)
- Last Synced: 2024-12-24T15:34:37.105Z (about 1 month ago)
- Topics: backend, docker, e-commerce, jest, mysql, nestjs, prisma, typescript
- Language: TypeScript
- Homepage: https://api.mkloz.com/store/api/docs
- Size: 1.63 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## ๐ Table of Contents
- [๐ Table of Contents](#-table-of-contents)
- [๐ Overview](#-overview)
- [โ๏ธ Features](#๏ธ-features)
- [๐ Project Structure](#-project-structure)
- [๐ฌ Database Structure](#-database-structure)
- [๐ Getting Started](#-getting-started)
- [โ๏ธ Prerequisites](#๏ธ-prerequisites)
- [๐ฆ Native installation](#-native-installation)
- [๐ฎ Starting server](#-starting-server)
- [๐งช Running Tests](#-running-tests)
- [๐ค Contributing](#-contributing)
- [๐ License](#-license)---
## ๐ Overview
Welcome 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.
---
## โ๏ธ Features
- Product listings: View a list of available products with details such as title, price, description, and images.
- Search functionality: Search for products based on keywords or specific criteria.
- User authentication: Allow users to create accounts, log in, and manage their profiles.
- Shopping cart: Add products to a cart, update quantities, and remove items.
- Order management: Allow users to view their past orders, track packages, and manage returns.
- Admin dashboard: Provide an administrative roles for managing products, users, orders, and other site settings.
- Checkout process: Provide a seamless checkout experience with multiple payment options(comming soon).---
## ๐ฌ Database Structure
---
## ๐ Getting Started
### โ๏ธ Prerequisites
Before you begin, ensure that you have the following prerequisites installed:
- For native running:
> - `โน๏ธ node:18`
> - `โน๏ธ npm 9+`
- For docker running> - `โน๏ธ docker`
> - `โน๏ธ docker compose(optional if you know how use docker)`---
### ๐ฆ Native installation
1. Clone the online-store repository:
```sh
git clone https://github.com/mkloz/online-store-backend
```2. Change to the project directory:
```sh
cd online-store-backend
```3. Install the dependencies:
```sh
npm install
```---
### ๐ฎ Starting server
After installation you can start store server. You will find swagger documentation on GET /api/docs route, hoever only if env != production
Set up .env variables
```bash
cp .env.example .env
```
Execute migrations for database
```bash
npm run migrate
```Than if you installed project localy
```bash
npm run start
```OR
Using docker compose
Start database(if you already have one skip this step) and server
```bash
sudo docker compose -f docker-compose-dev.yaml up mysql store
```---
### ๐งช Running Tests
Set up test eviroments(in .env file). Be carefull couse it will clean all data, so DO NOT USE PRODUCTION ENV
```sh
npm run test
```---
## ๐ค Contributing
Contributions are always welcome! Please follow these steps:
1. Fork the project repository. This creates a copy of the project on your account that you can modify without affecting the original project.
2. Clone the forked repository to your local machine using a Git client like Git or GitHub Desktop.
3. Create a new branch with a descriptive name (e.g., `new-feature-branch` or `bugfix-issue-123`).```sh
git checkout -b new-feature-branch
```4. Make changes to the project's codebase.
5. Commit your changes to your local branch with a clear commit message that explains the changes you've made.```sh
git commit -m 'Implemented new feature.'
```6. Push your changes to your forked repository on GitHub using the following command
```sh
git push origin new-feature-branch
```7. 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.
The project maintainers will review your changes and provide feedback or merge them into the main branch.---
## ๐ License
The "online-store" project is licensed under the [MIT License](LICENSE). Feel free to use, modify, and distribute the code as needed.
---