{"id":26319549,"url":"https://github.com/gotpop/gotpop-shop","last_synced_at":"2025-09-09T11:39:08.729Z","repository":{"id":62837206,"uuid":"561381146","full_name":"gotpop/gotpop-shop","owner":"gotpop","description":"A full stack e-commerce application built with Next.js, NextAuth.js, Prisma/PostgresQL \u0026 raw CSS, deployed on Vercel \u0026 Railway","archived":false,"fork":false,"pushed_at":"2023-02-08T13:33:00.000Z","size":17160,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-04-08T23:21:02.355Z","etag":null,"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"],"latest_commit_sha":null,"homepage":"https://gotpop-shop.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gotpop.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-11-03T15:09:52.000Z","updated_at":"2023-02-06T17:40:27.000Z","dependencies_parsed_at":"2023-02-19T14:30:25.541Z","dependency_job_id":null,"html_url":"https://github.com/gotpop/gotpop-shop","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gotpop%2Fgotpop-shop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gotpop%2Fgotpop-shop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gotpop%2Fgotpop-shop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gotpop%2Fgotpop-shop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gotpop","download_url":"https://codeload.github.com/gotpop/gotpop-shop/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243746342,"owners_count":20341232,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2025-03-15T15:19:49.145Z","updated_at":"2025-03-15T15:19:49.717Z","avatar_url":"https://github.com/gotpop.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GotPop Shop\n\nA full stack e-commerce application.\n\n## Project Goals\n\nThe 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.\n\n## Caveats\n\nThis 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.\n\nThis will open the door to separate carts, wish lists \u0026 delivery details etc. The Prisma schema is already set up to allow this.\n\n\n## Tech Stack\n\n* Next.js (13)\n* Raw CSS transpiled with PostCSS\n* Prisma\n* TypeScript\n* PostgreSQL\n* Cypress (E2E \u0026 component)\n* GitHub Actions\n\n## Getting Started\n\nThis app was developed with `Node 18`. \n\n### Local \n\nFirst 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.\n\n```java\nDATABASE_URL=DATABASE_SECRET_KEY\n```\n\nOnce 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.\n\n* `yarn`\n* `yarn build`\n* `yarn start`\n\n## Environments\n\n| Local | Preview | Live | \n| :--- | :----- | :------ |\n| [Localhost](http://localhost:3000) | [Preview](https://gotpop-shop-git-main-teamgotpop.vercel.app) | [Live](https://gotpop-shop.vercel.app)  ![Vercel](https://therealsujitk-vercel-badge.vercel.app/?app=gotpop-starter-teamgotpop)| \n\n## Dashboards\n\n| Vercel | Railway |\n| :--- | :----- |\n| [Dashboard](https://vercel.com/dashboard) | [Dashboard](https://railway.app) |\n\n\u003ch1 align=\"center\"\u003e\n\t\u003cimg width=\"100%\" src=\"./public/shop.png\" alt=\"Image of shop website\"\u003e\n\u003c/h1\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgotpop%2Fgotpop-shop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgotpop%2Fgotpop-shop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgotpop%2Fgotpop-shop/lists"}