https://github.com/gotpop/gotpop-shop
A full stack e-commerce application built with Next.js, NextAuth.js, Prisma/PostgresQL & raw CSS, deployed on Vercel & Railway
https://github.com/gotpop/gotpop-shop
css-grid-layout css-modules database e-commerce-project nextauth nextjs nextjs13 oauth postgresql postgresql-database primsa railway raw-css serverside-rendering swr typescript vercel vercel-deployment webanimation-api
Last synced: about 1 month ago
JSON representation
A full stack e-commerce application built with Next.js, NextAuth.js, Prisma/PostgresQL & raw CSS, deployed on Vercel & Railway
- Host: GitHub
- URL: https://github.com/gotpop/gotpop-shop
- Owner: gotpop
- Created: 2022-11-03T15:09:52.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-02-08T13:33:00.000Z (over 2 years ago)
- Last Synced: 2023-04-08T23:21:02.355Z (over 2 years ago)
- Topics: css-grid-layout, css-modules, database, e-commerce-project, nextauth, nextjs, nextjs13, oauth, postgresql, postgresql-database, primsa, railway, raw-css, serverside-rendering, swr, typescript, vercel, vercel-deployment, webanimation-api
- Language: TypeScript
- Homepage: https://gotpop-shop.vercel.app
- Size: 16.4 MB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GotPop Shop
A full stack e-commerce application.
## Project Goals
The initial goal of this application is to demonstrate a Next.js application performing CRUD operations to a PostgreSQL database. I also wanted to create a component system using raw CSS rather than a UI framework to demonstrate website layout with CSS Grid Layout.
## Caveats
This is an ongoing project, right now there's no user login so every user hits the same database user. The next feature will be to add NextAuth.js.
This will open the door to separate carts, wish lists & delivery details etc. The Prisma schema is already set up to allow this.
## Tech Stack
* Next.js (13)
* Raw CSS transpiled with PostCSS
* Prisma
* TypeScript
* PostgreSQL
* Cypress (E2E & component)
* GitHub Actions## Getting Started
This app was developed with `Node 18`.
### Local
First you must set up the `.env` file in order to connect to the database. You can use the starter `.env.sample` located in the root.
```java
DATABASE_URL=DATABASE_SECRET_KEY
```Once you have the database environment variable set you can install and run the project. If you would like to use your own database you can host them for free at [railway.app](https://railway.app). You can grab the full connection string from the connect tab in the settings page. You can seed the database with `npx prisma db seed`. More information here in the [Prisma](https://www.prisma.io/docs/guides/database/seed-database) docs.
* `yarn`
* `yarn build`
* `yarn start`## Environments
| Local | Preview | Live |
| :--- | :----- | :------ |
| [Localhost](http://localhost:3000) | [Preview](https://gotpop-shop-git-main-teamgotpop.vercel.app) | [Live](https://gotpop-shop.vercel.app) |## Dashboards
| Vercel | Railway |
| :--- | :----- |
| [Dashboard](https://vercel.com/dashboard) | [Dashboard](https://railway.app) |
![]()