E-market is an online platform for selling household appliances, designed with inspiration from Appleβs aesthetics.
The application consists of several screens:
- Authorization: .
- Main Page: .
- Category Product Page: .
- Product page: .
- Cart: .
- Favorites: .
- Account: .
- -: .
- -: .
Layout - Figma
$ git clone https://github.com/ingerstep/e-market
$ cd e-market
To simplify the deployment of the application, you can use Docker.
Make sure you have Docker and Docker Compose installed.
$ docker --version
$ docker compose version | docker-compose --version
#create .env in root of the project
POSTGRES_HOST=db
POSTGRES_PORT=5432
POSTGRES_LOCAL_PORT=your_local_port | 5432
POSTGRES_USER=user
POSTGRES_PASSWORD=your_password
POSTGRES_DB=your_db_name
SERVER_PORT=your_server_port | 3000
JWT_SECRET=your_secret
Start Docker Compose:
$ docker-compose up --build
To stop the application, use:
$ docker-compose down
- The frontend will be accessible at http://localhost:3000.
- The backend will be accessible at http://localhost:3000 or your specified SERVER_PORT.
- After each docker compose up --build, Postgres restarts the migrations and refills the tables with mock data.
- An isolated bridge network named emarket is created in the Docker settings.
After cloning the repository, you need to initialize the backend part of the application, followed by the frontend.
The repository contains the server side of the application using NestJS and PostgreSQL.
Directory - /server.
$ npm install
$ npm run migration:run
# development
$ npm run start
$ npm run build
This repository contains the frontend part of the application, utilizing Next JS, Redux, and TypeScript.
Directory - /client.
$ npm install
# development
$ npm run dev
$ npm run build