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.
- User authentication and authorization
- Product listing and search
- Shopping cart functionality
- Order management
- Responsive design (soon)
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)
- Node.js (>=18.x)
- pnpm (>=8.9.0)
- PostgreSQL
- Redis
- Docker (optional)
git clone https://github.com/fieztazica/rookie-store.git
cd rookie-store
-
Install dependencies:
pnpm install
-
Navigate to the
apps/api
directory:cd apps/api
-
Set up environment variables:
Find
.env.example
, rename it into.env
and adjust provided values -
Run database migrations:
pnpm run --filter api prisma migrate dev
-
Start the backend server:
pnpm run --filter api dev
-
Navigate to the
apps/web
directory:cd ../web
-
Set up environment variables:
Find
.env.example
, rename it into.env
and adjust provided values -
Start the frontend server:
pnpm run --filter web dev
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, usepnpm run --filter api prisma db seed
.
- Open your browser and navigate to
http://localhost:3000
to access the frontend. - The admin page will be available at
http://localhost:7000/admin
. - The backend API will be available at
http://localhost:7000/api/graphql
.
We welcome contributions! Follow these steps to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature-name
). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/your-feature-name
). - Create a new Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.