Implementing Ecommerce in Next.js(13), Tailwind & Typescript
- Framework: Next.js
- Database: PostgreSQL
- ORM: Prisma
- Authentication: NextAuth.js
- Deployment: Vercel
- Styling: Tailwind CSS
To run this project, you will need to add the following environment variables to your .env
file
# Database URL for prisma
DATABASE_URL="postgresql://johndoe:randompassword@localhost:5432/mydb?schema=public"
# URL of the website
NEXTAUTH_URL='http://localhost:3000'
FRONTEND_URL='http://localhost:3000'
# Used to hash tokens, sign/encrypt cookies and ...
# You can quickly create a good value with this command
# openssl rand -base64 32
NEXTAUTH_SECRET=VJmi1XgBd48qWC2xn/kNRc15OIY+P4a1uXgV42uaHuw=
NEXTJWT_SECRET=VDexd3kY#q8W!2o$6vVz9*mr&Np@^gLQ
# Google oAuth
GOOGLE_CLIENT_ID=YOUR_GOOGLE_CLIENT_ID
GOOGLE_CLIENT_SECRET=YOUR_GOOGLE_CLIENT_SECRET
# SMTP creds
MAIL_HOST=YOUR_SMTP_HOST
MAIL_PORT=YOUR_SMTP_PORT
MAIL_USERNAME=YOUR_SMTP_USERNAME
MAIL_PASSWORD=YOUR_SMTP_PASSWORD
Clone the project
git clone https://github.com/karan0805/design-palace.git
Go to the project directory
cd design-palace
Install dependencies
npm install
Apply migrations to database
npm run migrate-dev
Seed the database
npm run db-seed
Start the server
npm run dev