{"id":18849694,"url":"https://github.com/ashot72/next.js-14-online-store","last_synced_at":"2026-04-08T16:32:25.413Z","repository":{"id":220830644,"uuid":"752647842","full_name":"Ashot72/Next.js-14-Online-Store","owner":"Ashot72","description":"Online Store app that embraces many of the features of Next.js 14","archived":false,"fork":false,"pushed_at":"2024-02-04T15:36:30.000Z","size":9714,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-16T15:20:17.407Z","etag":null,"topics":["caching-strategies","client-components","dynamic-routing","google-provider","mongodb","nextauth","nextjs","nextjs14","nextui","prisma-orm","react","server-components","static-routing","streaming","streaming-data","stripe-payments","tailwindcss","zod-validation"],"latest_commit_sha":null,"homepage":"","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/Ashot72.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,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-02-04T12:24:25.000Z","updated_at":"2025-08-01T06:20:56.000Z","dependencies_parsed_at":"2024-02-04T18:10:24.082Z","dependency_job_id":null,"html_url":"https://github.com/Ashot72/Next.js-14-Online-Store","commit_stats":null,"previous_names":["ashot72/next.js-14-online-store"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Ashot72/Next.js-14-Online-Store","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashot72%2FNext.js-14-Online-Store","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashot72%2FNext.js-14-Online-Store/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashot72%2FNext.js-14-Online-Store/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashot72%2FNext.js-14-Online-Store/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ashot72","download_url":"https://codeload.github.com/Ashot72/Next.js-14-Online-Store/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashot72%2FNext.js-14-Online-Store/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31564900,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["caching-strategies","client-components","dynamic-routing","google-provider","mongodb","nextauth","nextjs","nextjs14","nextui","prisma-orm","react","server-components","static-routing","streaming","streaming-data","stripe-payments","tailwindcss","zod-validation"],"created_at":"2024-11-08T03:22:07.788Z","updated_at":"2026-04-08T16:32:25.388Z","avatar_url":"https://github.com/Ashot72.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Next.js 14 Online Store\n\nThis is a [Next.js 14](https://nextjs.org/docs) Online Store app that uses App Router, [NextAuth](https://next-auth.js.org/) (Google Provider), [NextUI](https://nextui.org/), and [TailwindCSS](https://tailwindcss.com/). \n\nAs a cloud-based database, [MongoDB](https://www.mongodb.com/atlas/database) is used with [Prisma ORM](https://www.prisma.io/ ). \n\n[Stripe](https://stripe.com/) payment service (test mode) is integrated into the app, allowing you to make purchases with test card numbers and view all transactions on Stripe's *Payments* panel.\n\n In this Online Store app\n \n + Implemented **user authentication** flows with NextAuth, for secure and scalable user management\n + Created **Prisma schema** for MongoDB\n + Structured **server actions** to handle data mutations\n + Analyzed **server versus client components** and understood how to utilize each for optimal efficiency\n + Implemented **data validation with Zod** to ensure the reliability of user input\n + **Streamed Content** with React Server Components\n + Implemented **Caching with Request Memorization** for multiple repeted DB queries\n + For some actions impemented **Define in Parent, Fetch in Child** approach\n + Integrated **Stripe** payment service into the app\n + Enriched user interfaces with **TailwindCSS** support for styling components\n + Implemented, and discussed alternatives, to Next.js sophisticated **caching system** for high performance\n + Discussed the critical differences between **development and production environments**\n\nWhen you run your application in production mode, its behavior changes, and the default caching behavior may not be suitable for your app. You might be surprised when you deploy your first app.\n\nTo get started.\n```\n       Clone the repository\n\n       git clone https://github.com/Ashot72/Next.js-14-Online-Store\n       cd Next.js-14-Online-Store\n\n       Create the .env file based on the env.example.txt file and include the respective keys.\n       \n       # installs dependencies\n         npm install\n\n       # to run in development mode\n         npm run dev\n      \n       # to run in production mode\n         npm run build\n         npm start\n      \n       # Stripe Card Information for testing\n         Card Number: 4242 4242 4242 4242\n         CVC: 567\n         Expiration Date: 12/34\n```\n\nGo to [Next.js 14 Online Store Video](https://youtu.be/lZnUgYTFq6E) page\n\nGo to [Next.js 14 Online Store Description](https://ashot72.github.io/Next.js-14-Online-Store/doc.html) page\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashot72%2Fnext.js-14-online-store","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fashot72%2Fnext.js-14-online-store","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashot72%2Fnext.js-14-online-store/lists"}