{"id":30741146,"url":"https://github.com/g4eva-dev/schedule-pro","last_synced_at":"2025-09-04T00:45:08.803Z","repository":{"id":307700429,"uuid":"1025209640","full_name":"G4EVA-dev/schedule-pro","owner":"G4EVA-dev","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-01T17:42:06.000Z","size":279,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-08-01T18:31:27.819Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://schedule-pro-omega.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/G4EVA-dev.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,"zenodo":null}},"created_at":"2025-07-23T22:56:28.000Z","updated_at":"2025-08-01T17:42:10.000Z","dependencies_parsed_at":"2025-08-01T18:31:48.908Z","dependency_job_id":null,"html_url":"https://github.com/G4EVA-dev/schedule-pro","commit_stats":null,"previous_names":["g4eva-dev/schedule-pro"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/G4EVA-dev/schedule-pro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/G4EVA-dev%2Fschedule-pro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/G4EVA-dev%2Fschedule-pro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/G4EVA-dev%2Fschedule-pro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/G4EVA-dev%2Fschedule-pro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/G4EVA-dev","download_url":"https://codeload.github.com/G4EVA-dev/schedule-pro/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/G4EVA-dev%2Fschedule-pro/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273534470,"owners_count":25122677,"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","status":"online","status_checked_at":"2025-09-03T02:00:09.631Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-09-04T00:45:07.724Z","updated_at":"2025-09-04T00:45:08.781Z","avatar_url":"https://github.com/G4EVA-dev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Schedule Pro\n\nA modern, full-stack appointment scheduling and business management platform designed for service businesses. Schedule Pro provides seamless calendar booking, notifications, analytics, client management, and more, all powered by Next.js, Convex, and a robust UI built with Radix UI and TailwindCSS.\n\n---\n\n## Table of Contents\n- [Features](#features)\n- [Tech Stack](#tech-stack)\n- [Getting Started](#getting-started)\n- [Environment Variables](#environment-variables)\n- [Project Structure](#project-structure)\n- [Scripts](#scripts)\n- [Key Functionality](#key-functionality)\n- [Notifications \u0026 Email](#notifications--email)\n- [Analytics](#analytics)\n- [Customization](#customization)\n- [Troubleshooting](#troubleshooting)\n- [License](#license)\n\n---\n\n## Features\n- **Appointment Scheduling**: Book, edit, and manage appointments with real-time calendar integration.\n- **Staff \u0026 Client Management**: Manage staff, assign appointments, and maintain client records with pagination and export (CSV).\n- **Business Analytics**: Dashboard and analytics pages with live business metrics (revenue, appointments, service breakdowns, etc.).\n- **Notifications**: In-app and email notifications for clients and staff, including reminders and confirmations.\n- **Settings \u0026 Customization**: Business profile, working hours, and logo upload.\n- **Help \u0026 Support**: Dedicated support page with feedback form and FAQ.\n- **Responsive UI**: Built with Radix UI, TailwindCSS, and modern UX best practices.\n\n---\n\n## Tech Stack\n- **Frontend**: [Next.js 15](https://nextjs.org/), [React 19](https://react.dev/), [TailwindCSS](https://tailwindcss.com/), [Radix UI](https://www.radix-ui.com/)\n- **Backend/Data**: [Convex](https://convex.dev/) (serverless database \u0026 functions), [Prisma](https://www.prisma.io/) (for legacy/data migration), [Resend](https://resend.com/) (email)\n- **Auth**: [NextAuth.js](https://next-auth.js.org/), Convex Auth\n- **Other**: [Zod](https://zod.dev/) (validation), [date-fns](https://date-fns.org/) (date utilities)\n\n---\n\n## Getting Started\n\n### 1. Clone the Repository\n```bash\ngit clone https://github.com/your-org/schedule-pro.git\ncd schedule-pro\n```\n\n### 2. Install Dependencies\n```bash\npnpm install\n```\n\n### 3. Set Up Environment Variables\nCreate a `.env.local` file in the root with the following:\n```env\nNEXT_PUBLIC_CONVEX_URL=your-convex-url\nNEXTAUTH_URL=http://localhost:3000\nRESEND_API_KEY=your-resend-api-key\n```\nSee [Environment Variables](#environment-variables) for details.\n\n### 4. Run the Development Server\n```bash\npnpm run dev\n```\n\n### 5. Build for Production\n```bash\npnpm run build\n```\n\n---\n\n## Environment Variables\n| Variable               | Required | Description                                      |\n|------------------------|----------|--------------------------------------------------|\n| NEXT_PUBLIC_CONVEX_URL | Yes      | Convex backend URL                               |\n| NEXTAUTH_URL           | Yes      | Auth callback URL (for NextAuth)                 |\n| RESEND_API_KEY         | Yes      | API key for Resend email service                 |\n| DATABASE_URL           | Optional | Prisma/legacy DB connection (if used)            |\n\n---\n\n## Project Structure\n```\nschedule-pro/\n├── app/                  # Next.js app directory (pages, routes)\n│   └── (dashboard)/      # Main dashboard and feature pages\n├── components/           # Reusable React components\n│   ├── calendar/         # Calendar and appointment UI\n│   ├── providers/        # React context providers\n│   └── ui/               # UI primitives (DateTimePicker, etc.)\n├── convex/               # Convex backend functions (queries, mutations, actions)\n│   ├── appointments.ts   # Appointment logic (creation, update, notifications)\n│   ├── email.ts          # Email sending logic (Resend integration)\n│   ├── notifications.ts  # In-app notifications logic\n│   ├── clients.ts        # Client management\n│   ├── staff.ts          # Staff management\n│   ├── services.ts       # Service management\n│   └── ...\n├── public/               # Static assets\n├── styles/               # Tailwind and global styles\n├── package.json          # Project metadata and dependencies\n└── README.md             # This file\n```\n\n---\n\n## Scripts\n| Script         | Description                        |\n|----------------|------------------------------------|\n| `dev`          | Start Next.js and Convex in dev     |\n| `build`        | Build Next.js for production        |\n| `start`        | Start Next.js in production         |\n| `convex`       | Start Convex dev server             |\n| `lint`         | Run Next.js linter                  |\n\n---\n\n## Key Functionality\n\n### Appointment Booking \u0026 Management\n- Book, edit, cancel, and reschedule appointments via a modern calendar UI.\n- Assign staff and clients to appointments.\n- Appointment forms use robust date/time pickers and duration selectors.\n\n### Notifications \u0026 Email\n- **In-App Notifications**: Real-time notifications for clients and staff when appointments are created or updated.\n- **Email Alerts**: Transactional emails sent via Resend to clients and staff (on creation, assignment, and reminders).\n- **Reminder Emails**: Sent 30 minutes before appointments (interval configurable in future).\n- **Robust Logging**: All email sends are logged with recipient, subject, and payload for debugging.\n\n### Analytics \u0026 Dashboard\n- Live business analytics: revenue, appointment stats, service breakdowns, and more.\n- Widgets and charts powered by Convex queries.\n\n### Client \u0026 Staff Management\n- Paginated lists, CSV export, and easy management for both clients and staff.\n\n### Settings \u0026 Customization\n- Business profile (name, logo, working hours) editable in settings.\n- Staff working hours and services managed via UI.\n\n### Help \u0026 Support\n- Dedicated page for help, FAQ, and feedback submission.\n\n---\n\n## Customization\n- **Styling**: Easily customizable with TailwindCSS.\n- **Components**: Modular React components for rapid feature development.\n- **Backend**: Extend Convex functions for custom business logic.\n\n---\n\n## Troubleshooting\n- **Email Not Sending?**\n  - Ensure `RESEND_API_KEY` is set in your environment and valid.\n  - Check Convex logs for errors (especially for staff notifications).\n  - Make sure staff and client records have valid email addresses.\n- **Convex Issues?**\n  - Ensure your Convex project is deployed and accessible.\n  - Update `NEXT_PUBLIC_CONVEX_URL` as needed.\n- **UI Bugs?**\n  - Check browser console for errors.\n  - Ensure all dependencies are installed and up to date.\n\n---\n\n## License\n\nThis project is licensed under the MIT License. See [LICENSE](./LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fg4eva-dev%2Fschedule-pro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fg4eva-dev%2Fschedule-pro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fg4eva-dev%2Fschedule-pro/lists"}