A beautiful Next.js app for managing quiet hours built with Supabase Auth, Postgresql, and scheduled cron notifications. Define quiet-hour blocks with automatic overlap prevention and get timely email reminders. Secure access is enforced with Row-Level Security (RLS) and a very visually stunning UI with framer UI;
- 🔐 User Authentication :— Supabase Auth
- 🕒 Quiet Hour Management :— create, update, delete blocks
- 🚫 Overlap Prevention :— automatic conflict handling
- ✉️ Email Reminders :— cron-triggered notifications
- 🛡️ Secure Data Access :— Row-Level Security (RLS)
- ⚡ Optimized Fonts :— Geist with next/font for faster loading

Welcome screen and onboarding.

Sign-in / sign-up flow powered by Supabase.
- Node.js v18+
- npm / yarn / pnpm / bun
- Supabase project credentials
Clone the repository: bash git clone https://github.com/prakhaaar/quiethours cd quiet-hours
Install dependencies:
```bash
npm install
# or
yarn install
# or
pnpm install
# or
bun install
Run the dev server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:3000 and start editing app/page.tsx — changes auto-refresh 🔁
Create a .env.local in the project root and add:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
RESEND_API_KEY=your_resend_email_api_key- Next.js Documentation — comprehensive guides and API refs
- Learn Next.js — interactive tutorials
- Supabase Docs — auth, database, and RLS setup
- Resend Api Docs;
- Next.js Deployment — deploy to Vercel
- Connect your GitHub repo to Vercel
- Set the environment variables in the Vercel dashboard
- Click Deploy — your app will be live in minutes ✨
/app # Next.js App Router pages
/lib # Supabase helpers
/functions # Serverless functions (cron jobs, notifications)
styles # CSS / Tailwind styling
Contributions, issues, and feature requests are welcome!
Feel free to open a PR or an issue — help improve the app 💖
This project is licensed under the MIT License.
Happy coding! 🚀



