A modern e-commerce platform built for artist to showcase and sell her artwork. This project uses Next.js 14 with App Router, featuring server-side rendering, dynamic routing, and a seamless shopping experience.
- 🎨 Browse artwork gallery
- 🛍️ Shopping cart functionality
- 💳 Secure checkout with Stripe
- 👤 User authentication
- 📱 Responsive design
- 🖼️ Dynamic image loading and optimization
- 📤 Upload new artwork
- 💼 Manage inventory
- 📊 View sales statistics
- 👥 User management
- 🔐 Next-Auth authentication
- 🎯 TypeScript for type safety
- 🎨 Tailwind CSS for styling
- 🗄️ PostgreSQL database with Drizzle ORM
- 💳 Stripe payment integration
- 📤 UploadThing for image uploads
- 📊 PostHog analytics integration
- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Database: PostgreSQL
- ORM: Drizzle
- Authentication: Next-Auth
- Styling: Tailwind CSS, Shadcn UI
- Payment Processing: Stripe
- Image Upload: UploadThing
- Analytics: PostHog
- Node.js 18+
- PostgreSQL
- Stripe account
- UploadThing account
Create a .env file with:
# Database
POSTGRES_URL=
# Next Auth
NEXTAUTH_URL=
NEXTAUTH_SECRET=
# Google OAuth
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
# Stripe
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=
STRIPE_SECRET_KEY=
# UploadThing
UPLOADTHING_SECRET=
UPLOADTHING_APP_ID=
# PostHog
NEXT_PUBLIC_POSTHOG_KEY=- Clone the repository:
git clone git@github.com:ByalykT01/avecusho.git- Install dependencies:
npm install- Set up the database:
npm run db:migrate- Run the development server:
npm run devsrc/
├── actions/ # Server actions
├── app/ # App router pages
├── components/ # React components
├── lib/ # Utility functions
├── server/ # Server-side code
│ ├── db/ # Database configuration
│ └── queries/ # Database queries
├── styles/ # Global styles
└── types/ # TypeScript types
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE.md file for details