Ecommerce website to showcase arts boards and paintings
- Users can view all products, view product details, add product to cart, remove product from cart and view cart.
- Admin can see all products, either add a new one, remove or update it from a dashboard.
- Login and Register through (Google or Credentials)
- Search (debounced functionality)
- Pagination
- Image upload to
https://uploadthing.com
(! i have changed it, since it does not work on the production build locally) - Responsive design
- Next.js 14 (App Router)
- Shadcn/ui
- React Hook Form
- NextAuth.js
- Zod
- Zustand
- GraphQL
- Apollo Client
- Hasura
0. Run `npm i`
1. `Rename `.env.local.example` to `.env.local` and `.env.example` to `.env`
2.1 If you decided to use the provided Hasura Cloud API, provided on notion, you must init the db, follow the steps below:
2.1.1 Copy the SQL script content from `/src/services/seed/tables.sql` and run it on the Hasura Console.
2.1.2 then from the root directory, run `npm run seed:products` to seed the `products` table and run `npm run seed:admin` to seed `admin` in the `users` table.
2.2 If you decided to use my own Hasura Cloud API defined in the `.env`, you can skip the above steps since the db is already seeded.
3. lastly, run `npm run build` and last `npm run start`