{"id":16325764,"url":"https://github.com/siegfriedbz/nextjs-saas-petsoft","last_synced_at":"2025-04-09T13:31:36.789Z","repository":{"id":243654165,"uuid":"812901653","full_name":"SiegfriedBz/Nextjs-Saas-PetSoft","owner":"SiegfriedBz","description":"🐾 Next.js 14 (App Router) SaaS app for pet daycare management. Styled with Tailwind CSS, implements Stripe for payments.","archived":false,"fork":false,"pushed_at":"2024-07-05T12:14:47.000Z","size":776,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T06:12:27.770Z","etag":null,"topics":["app-router-nextjs","next-auth","nextjs14","optimistic-ui","postgresql","prisma-orm","react-hook-form","responsive-design","server-actions","stripe-api","tailwindcss","typescript","zod-validation"],"latest_commit_sha":null,"homepage":"https://next-saas-petsoft.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/SiegfriedBz.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,"publiccode":null,"codemeta":null}},"created_at":"2024-06-10T05:57:28.000Z","updated_at":"2024-12-23T11:56:23.000Z","dependencies_parsed_at":"2024-10-10T23:06:13.597Z","dependency_job_id":"febed613-790c-4722-a9cb-5efc8595072e","html_url":"https://github.com/SiegfriedBz/Nextjs-Saas-PetSoft","commit_stats":null,"previous_names":["siegfriedbz/next-saas-petsoft","siegfriedbz/nextjs-saas-petsoft"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiegfriedBz%2FNextjs-Saas-PetSoft","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiegfriedBz%2FNextjs-Saas-PetSoft/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiegfriedBz%2FNextjs-Saas-PetSoft/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiegfriedBz%2FNextjs-Saas-PetSoft/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SiegfriedBz","download_url":"https://codeload.github.com/SiegfriedBz/Nextjs-Saas-PetSoft/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248049258,"owners_count":21039190,"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":["app-router-nextjs","next-auth","nextjs14","optimistic-ui","postgresql","prisma-orm","react-hook-form","responsive-design","server-actions","stripe-api","tailwindcss","typescript","zod-validation"],"created_at":"2024-10-10T23:06:17.096Z","updated_at":"2025-04-09T13:31:36.441Z","avatar_url":"https://github.com/SiegfriedBz.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# PetSoft\n\nPetSoft is a SaaS application built on Next.js 14, utilizing the App Router and Server Actions for efficient data mutation.\nPetSoft is designed to help pet daycare businesses manage their operations efficiently.  \nUsers can sign up, make a secure payment through Stripe for lifetime access, and manage their pet daycare business by adding new pets with various details.\n\n# Table of Contents\n- [Prerequisites](#prerequisites)\n- [Installation](#installation)\n- [Set up Prisma \u0026 Seed the database](#set-up-prisma--seed-the-database)\n- [Running the Development Server](#running-the-development-server)\n- [Building for Production](#building-for-production)\n- [Running the Production Server](#running-the-production-server)\n- [Technologies Used](#technologies-used)\n- [Stripe Webhook](#stripe-webhook)\n- [Live Demo](#live-demo) 🚀\n\n# Prerequisites\nStripe Account: Required for payment processing functionalities.\n\n# Installation\n\n1. Clone the repository:\n```bash\ngit clone git@github.com:SiegfriedBz/next-saas-petsoft.git\ncd petsoft\n```\n\n2. Install dependencies:\n```bash\nnpm install\n```\n\n3. Set up environment variables:\n\nCreate a .env file in the root directory and add the following environment variables\n    \n    CANONICAL_URL=http://localhost:3000\n    \n    # Next-auth\n    NEXTAUTH_URL=http://localhost:3000\n    NEXTAUTH_SECRET=your-nextauth-secret\n\n    # Stripe\n    NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=your-stripe-publishable-key\n    STRIPE_SECRET_KEY=your-stripe-secret-key\n    STRIPE_WEBHOOK_SECRET=your-stripe-webhook-secret\n    \n    # Prisma DEV\n    DATABASE_URL=\"file:./dev.db\"\n    \n    # Prisma PRODUCTION\n    POSTGRES_URL=\"your-postgres-url\"\n    POSTGRES_PRISMA_URL=\"your-postgres-prisma-url\"\n    POSTGRES_URL_NO_SSL=\"your-postgres-url-no-ssl\"\n    POSTGRES_URL_NON_POOLING=\"your-postgres-url-non-pooling\"\n    POSTGRES_USER=\"your-postgres-user\"\n    POSTGRES_HOST=\"your-postgres-host\"\n    POSTGRES_PASSWORD=\"your-postgres-password\"\n    POSTGRES_DATABASE=\"your-postgres-database\"\n    \n    # Opengraph image\n    NEXT_PUBLIC_OG_IMAGE_URL=\"your-opengraph-1200x600-image\" \n\n\n# Set up Prisma \u0026 Seed the database\n\nInitialize Prisma:\n```bash\nnpx prisma init\n```\n\nGenerate Prisma Client:\n```bash\nnpx prisma generate\n```\n\nSeed the database:\n```bash\nnpx prisma db seed\n```\n       \n# Running the Development Server\nTo start the development server, run:\n\n```bash\nnpm run dev\n  ```\n\n# Building for Production\nTo build the project for production, run:\n\n```bash\nnpm run build\n```\n\n# Running the Production Server\nAfter building the project, you can start the production server with:\n\n```bash\nnpm start\n```\n\n# Stripe Webhook\nTo enable secure payment processing, configure the Stripe webhook to listen for checkout.session.completed events. Upon successful payment completion, the user's record in the database will be updated, setting the hasAccess field to true, granting them lifetime access to the software.\n\n# Technologies Used\n\n- **Framework**: React, Next.js 14 (App Router)\n- **TypeScript**: Provides type safety and improved development experience.\n- **Zod** (for client-side and server-side validation)\n\n## Frontend:\n- **Form Handling**: React Hook Form\n- **Styling**: Tailwind CSS, shadcn/ui, responsive design\n\n## Backend:\n- **ORM**: Prisma\n- **DB**: PostgreSQL\n- **Authentication**: NextAuth.js with Credentials Provider\n\n## Payment Processing:\n- **Stripe**\n\n## Live Demo\nVisit the live demo of [PetSoft](https://next-saas-petsoft.vercel.app/) deployed on Vercel.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiegfriedbz%2Fnextjs-saas-petsoft","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsiegfriedbz%2Fnextjs-saas-petsoft","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiegfriedbz%2Fnextjs-saas-petsoft/lists"}