A modern SaaS starter kit for building appointment-based applications. Built with Next.js 14, Auth.js, MongoDB, and TailwindCSS.
- Authentication — Magic Link (email) + Google OAuth via Auth.js (NextAuth v5)
- Database — MongoDB with Mongoose ODM and Auth.js MongoDB Adapter
- Styling — TailwindCSS + Radix UI primitives + Framer Motion animations
- Forms — React Hook Form + Zod validation
- State Management — Zustand for lightweight client-side state
- Type Safety — Full TypeScript support with validated environment variables
- Chinwike Anthony — @Chinwike1
- Jude Okorie — @JudetheGemini
| Category | Technology |
|---|---|
| Framework | Next.js 14 (App Router) |
| Authentication | Auth.js (NextAuth v5) |
| Database | MongoDB + Mongoose |
| Styling | TailwindCSS, Radix UI, Framer Motion |
| Forms | React Hook Form + Zod |
| State | Zustand |
| Mailersend (SMTP) | |
| Language | TypeScript |
- Node.js 24.x or higher
- pnpm (recommended) or npm/yarn
- MongoDB database (local or Atlas)
- Google OAuth credentials (for Google sign-in)
- Mailersend account (for magic link emails)
git clone https://github.com/Chinwike1/dentist-direct.git
cd dentist-directpnpm installcp .env.example .env.localEdit .env.local with your credentials:
# Authentication (Auth.js)
AUTH_SECRET=your-auth-secret-here # Generate with: openssl rand -base64 32
AUTH_TRUST_HOST=http://localhost:3000
# Google OAuth
AUTH_GOOGLE_ID=your-google-client-id
AUTH_GOOGLE_SECRET=your-google-client-secret
# Database (MongoDB)
MONGODB_URI=mongodb+srv://...
# Email (Mailersend)
SMTP_SERVER=smtp://user:[email protected]:587
MAILERSEND_API_KEY=your-api-key
FROM_EMAIL=[email protected]pnpm devOpen http://localhost:3000 to see the app.
pnpm build
pnpm startThis starter uses Auth.js (NextAuth v5) with two providers:
- Users enter their email and receive a secure login link
- Powered by Mailersend SMTP
- No password required
- One-click sign-in with Google
- Requires Google Cloud Console OAuth credentials
Both methods use the MongoDB adapter to persist sessions and user data.
| Command | Description |
|---|---|
pnpm dev |
Start development server |
pnpm build |
Build for production |
pnpm start |
Start production server |
pnpm lint |
Run ESLint |
pnpm turbo |
Start dev server with Turbopack |
The easiest way to deploy is with Vercel:
- Push your code to GitHub
- Import the project on Vercel
- Add your environment variables
- Deploy!
This project is open source and available under the MIT License.