More Premium Hugo Themes Premium React Themes

One Stop Shop Ecommerce Starter

Online marketplace built using Nextjs 13 App Router with server components, server actions, parallel and intercepting routes as well as Drizzle ORM.

One Stop Shop Ecommerce Starter

Online marketplace built using Nextjs 13 App Router with server components, server actions, parallel and intercepting routes as well as Drizzle ORM.

Author Avatar Theme by jackblatch
Github Stars Github Stars: 587
Last Commit Last Commit: Jul 2, 2024 -
First Commit Created: Jun 20, 2023 -
default image

Overview:

OneStopShop is an online marketplace built using Next.js App Router. It allows users to purchase products, sign up, and list their own products for sale. The app utilizes new technologies such as Server Actions and Drizzle ORM, but is currently a work in progress and should not be considered production ready.

Features:

  • Next.js App Router with React Server Components
  • Intercepted routes for product quick view and new product creation in admin
  • Server Actions for mutations
  • PlanetScale MySQL database with Drizzle ORM
  • UploadThing for typesafe file uploads (e.g., product images)
  • User authentication with Clerk
  • Stripe Connect integration for marketplace payments
  • Demo checkout experience with test card number and future date

Installation:

To run the app locally, follow these steps:

  1. Create a database in PlanetScale
  2. Create a local .env file with the variables from .env.example
  3. Run npm install
  4. Generate a migration with npx drizzle-kit generate:mysql
  5. Run the generated SQL queries from the migration manually or use the migration function in db.ts
  6. Run npm run dev to open the app in development mode
  7. Access the app at http://localhost:3000

Note: Ensure the migrations-folder in the root is empty or doesn’t exist when generating the migration for the first time.

Summary:

OneStopShop is an online marketplace built with Next.js App Router. It offers various features such as server actions, user authentication, and Stripe integration for payments. The app is currently in development and uses new technologies that are still being stabilized. The installation process involves setting up a database, generating migrations, and running the app locally.