Skip to content

Simple e-commerce platform using Next.js, NestJS, TypeScript, and PostgreSQL, featuring user authentication, product listings, and shopping cart functionality.

License

Notifications You must be signed in to change notification settings

fieztazica/rookie-store

Repository files navigation

Rookie Store

This project is a simple e-commerce platform built with modern web technologies, designed to help rookies (me) understand the basics of full-stack development.

Build CI Test ESLint Types

Table of Contents

Features

  • User authentication and authorization
  • Product listing and search
  • Shopping cart functionality
  • Order management
  • Responsive design (soon)

Tech Stack

Website:

  • Next.js
  • TypeScript
  • Tailwind CSS
  • @shadcn-ui
  • @apollo/client

API:

  • NestJS
  • Graphql
  • TypeScript
  • PostgreSQL
  • Redis

Other Tools:

  • Prisma (ORM)
  • Auth0 for authentication
  • Docker (optional)

Installation

Prerequisites

  • Node.js (>=18.x)
  • pnpm (>=8.9.0)
  • PostgreSQL
  • Redis
  • Docker (optional)

Clone the Repository

git clone https://github.com/fieztazica/rookie-store.git
cd rookie-store

General Setup

  1. Install dependencies:

    pnpm install

API Setup

  1. Navigate to the apps/api directory:

    cd apps/api
  2. Set up environment variables:

    Find .env.example, rename it into .env and adjust provided values

  3. Run database migrations:

    pnpm run --filter api prisma migrate dev
  4. Start the backend server:

    pnpm run --filter api dev

Website Setup

  1. Navigate to the apps/web directory:

    cd ../web
  2. Set up environment variables:

    Find .env.example, rename it into .env and adjust provided values

  3. Start the frontend server:

    pnpm run --filter web dev

Usage

Make sure your database is up to date with Prisma schema by using pnpm run --filter api prisma db push. In case you want mock data, use pnpm run --filter api prisma db seed.

  1. Open your browser and navigate to http://localhost:3000 to access the frontend.
  2. The admin page will be available at http://localhost:7000/admin.
  3. The backend API will be available at http://localhost:7000/api/graphql.

Contributing

We welcome contributions! Follow these steps to contribute:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/your-feature-name).
  3. Make your changes.
  4. Commit your changes (git commit -m 'Add some feature').
  5. Push to the branch (git push origin feature/your-feature-name).
  6. Create a new Pull Request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Simple e-commerce platform using Next.js, NestJS, TypeScript, and PostgreSQL, featuring user authentication, product listings, and shopping cart functionality.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages