https://github.com/ruslanpashkov/nice-gadgets
Nice Gadgest — Apple Store
https://github.com/ruslanpashkov/nice-gadgets
e-commerce
Last synced: 4 months ago
JSON representation
Nice Gadgest — Apple Store
- Host: GitHub
- URL: https://github.com/ruslanpashkov/nice-gadgets
- Owner: ruslanpashkov
- License: gpl-3.0
- Created: 2024-12-02T15:14:39.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-01-16T15:09:26.000Z (5 months ago)
- Last Synced: 2025-01-16T16:37:15.051Z (5 months ago)
- Topics: e-commerce
- Language: TypeScript
- Homepage:
- Size: 6.28 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Nice Gadgets — Apple Store

[LIVE DEMO](https://ruslanpashkov.com/projects/nice-gadgets/)
A full-stack e-commerce application for Apple products with a REST API backend and React frontend.
## Features
- Product catalog with categories
- Product details with color and memory options
- Search functionality
- Shopping cart
- Favorites list
- Recommended products section
- New and discounted products sections## Tech Stack
- TypeScript
- React + Vite
- React Router
- Sass (SCSS)
- Node.js + Express
- PostgreSQL + Sequelize
- SWC
- Swiper## API Endpoints
### Product Endpoints
- `GET /products` - Get products by category
- `GET /products/:deviceId` - Get product details
- `GET /products/count` - Get total products count
- `GET /products/new` - Get new products
- `GET /products/discount` - Get discounted products
- `GET /products/recommended` - Get recommended products
- `GET /products/search` - Search products### Order Endpoints
- `POST /orders` - Add new order
- `GET /orders/:id` - Get order details## Setup
1. Clone the repository:
```bash
git clone https://github.com/ruslanpashkov/nice-gadgets.git
```2. Install dependencies:
```bash
pnpm install
```3. Configure database:
- Set up PostgreSQL
- Add required environment variables in `packages/server/.env`1. Start development servers:
```bash
pnpm dev
```- Frontend: http://localhost:5173
- Backend: http://localhost:5000## License
[GNU GENERAL PUBLIC LICENSE](LICENSE)