A modern e-commerce application built with Next.js, TypeScript, GraphQL, and Prisma.
- Next.js - React framework for server-rendered applications
- TypeScript - Type-safe JavaScript
- Apollo Client - GraphQL client
- Styled Components - CSS-in-JS styling
- React Stripe Checkout - Payment processing
- Jest & Enzyme - Testing framework
- GraphQL Yoga - GraphQL server
- Prisma - Database ORM
- PostgreSQL - Database
- JWT - Authentication
- Stripe - Payment processing
- Nodemailer - Email functionality
- 🔐 User authentication and authorization
- 🛍️ Product browsing and searching
- 🛒 Shopping cart functionality
- 💳 Secure payment processing with Stripe
- 📧 Email notifications
- 📱 Responsive design
- 🔍 Advanced search capabilities
- 📊 Admin dashboard
├── frontend/ # Next.js frontend application
│ ├── components/ # React components
│ ├── pages/ # Next.js pages
│ ├── static/ # Static assets
│ └── lib/ # Utility functions and configurations
│
└── backend/ # GraphQL backend
├── src/ # Source code
└── prisma/ # Database schema and migrations
- Node.js (v14 or higher)
- Yarn package manager
- PostgreSQL database
- Clone the repository:
git clone [repository-url]
cd full-stack-next-typescript-shop
- Install dependencies:
# Install frontend dependencies
cd frontend
yarn install
# Install backend dependencies
cd ../backend
yarn install
- Set up environment variables:
# In backend directory
cp variables.dev.env.example variables.dev.env
# Update the variables in variables.dev.env with your configuration
- Deploy Prisma:
cd backend
yarn prisma:deploy:dev
- Start the development servers:
# Start backend (from backend directory)
yarn dev
# Start frontend (from frontend directory)
yarn dev
The application will be available at:
- Frontend: http://localhost:7777
- Backend: http://localhost:4000
# Frontend tests
cd frontend
yarn test
# Backend tests
cd backend
yarn test
This project is licensed under the MIT License - see the LICENSE file for details.