This is an app that allows users to post items for auction and other users to bid on them.
Run project locally - needs a deployed Next.js app (see Deployment):
# First, install dependencies
npm install
# Then, setup prisma
npm run prisma -- generate
npm run prisma -- db push # Needs to be run after every change to the `schema.prisma` file
# Then, run the app
npm run dev
# Finally, open the app in your browser: http://localhost:3000
- User authentication
- Item listing and publishing
- Credit deposit
- Live auction
- Auctioned item closing (CRON job)
- Realtime activity feed
- Bid history
- React.js - Frontend library
- Next.js - React framework
- Next Auth - Authentication
- TypeScript - Static typing
- TailwindCSS - Utility CSS classes
- TailwindUI - UI components
- Node.js - REST API
- PostgreSQL - Database
- Prisma - ORM
- Pusher - Realtime events / PubSub
- Inngest - CRON jobs
- Vercel - Deployment
npm test
Since this is a fullstack Next.js app, it can be deployed using the Vercel CLI:
# Authenticate with Vercel
vercel login
# Add project to Vercel
vercel project add my-project-name
# Link project to Vercel
vercel link my-project-name
# Setup environment variables
vercel env add NEXTAUTH_URL production # https://[app-name].vercel.app
vercel env add NEXTAUTH_SECRET production # [random string]
# Deploy
vercel --prod
Vercel Postgres should be configured after deployment.