Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/adenugbamichael/e-commerce_admin

Full stack e-commerce + dashboard and cms: next.js 13 app router, react, tailwind, prisma, mysql
https://github.com/adenugbamichael/e-commerce_admin

cms mysql-client mysql-server nextjs prisma shadcn-ui

Last synced: about 1 month ago
JSON representation

Full stack e-commerce + dashboard and cms: next.js 13 app router, react, tailwind, prisma, mysql

Awesome Lists containing this project

README

        

# Full Stack E-Commerce + Dashboard & CMS: Next.js 13 App Router, React, Tailwind, Prisma, MySQL, 2023

For Developer, use [Stripe Testing Cards](https://stripe.com/docs/testing)

This is a repository for a Full Stack E-Commerce + Dashboard & CMS: Next.js 13 App Router, React, Tailwind, Prisma, MySQL

Key Features:

- Using Shadcn UI for the Admin!
- Admin dashboard is going to serve as both CMS, Admin and API!
- Control mulitple vendors / stores through this single CMS! (For example you can have a "Shoe store" and a "Laptop store" and a "Suit store", and our CMS will generate API routes for all of those individually!)
- Create, update and delete categories!
- Create, update and delete products!
- Upload multiple images for products, and change them whenever you want!
- Create, update and delete filters such as "Color" and "Size", and then match them in the "Product" creation form.
- Create, update and delete "Billboards" which are these big texts on top of the page. You will be able to attach them to a single category, or use them standalone (Our Admin generates API for all of those cases!)
- Search through all categories, products, sizes, colors, billboards with included pagination!
- Control which products are "featured" so they show on the homepage!
- See your orders, sales, etc.
- See graphs of your revenue etc.
- Clerk Authentication!
- Order creation
- Stripe checkout
- Stripe webhooks
- MySQL + Prisma + PlanetScale(optional) or MYSQL Local Development Setup(optional)

### Prerequisites

**Node version 14.x**

### Cloning the repository

```shell
git clone https://github.com/adenugbamichael/ecommerce-admin.git
```

### Install packages

```shell
npm i
```

### Setup .env file

```js
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/

# This was inserted by `prisma init`:
# Environment variables declared in this file are automatically made available to Prisma.
# See the documentation for more detail: https://pris.ly/d/prisma-schema#accessing-environment-variables-from-the-schema

# Prisma supports the native connection string format for PostgreSQL, MySQL, SQLite, SQL Server, MongoDB and CockroachDB.
# See the documentation for all the connection string options: https://pris.ly/d/connection-strings

DATABASE_URL=''
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=""
STRIPE_API_KEY=
FRONTEND_STORE_URL=http://localhost:3001
STRIPE_WEBHOOK_SECRET=
```

### Connect to PlanetScale or MYSQL Local server and Push Prisma

```shell
npx prisma generate
npx prisma db push
```

### Start the app

```shell
npm run dev
```

## Available commands

Running commands with npm `npm run [command]`

| command | description |
| :------ | :--------------------------------------- |
| `dev` | Starts a development instance of the app |