A professional monorepo built with Next.js, pnpm workspaces, and Cal.com integration
Features • Quick Start • Tech Stack • Contributing • Documentation
- 📅 Seamless Scheduling - Cal.com integration for professional booking management
- 👥 Mentorship Platform - Connect mentors and mentees with advanced matching
- 🔐 Secure Authentication - better-auth with email OTP + Google & Microsoft OAuth
- 📱 Mobile-First Design - Responsive UI built with Tailwind CSS & Radix UI
- 🧪 Full Test Coverage - Comprehensive testing with Vitest & Testing Library
- 🚀 Performance Optimized - Turbo builds, server components, and edge functions
- 🎨 Modern UI - Beautiful and responsive interface with Tailwind CSS & Radix UI
- 📊 Database Integration - Type-safe queries with Drizzle ORM
discuno/
├── apps/
│ └── web/ # Main Next.js application
│ ├── src/
│ │ ├── app/ # App Router routes, APIs, and server actions
│ │ ├── components/ # UI primitives and business components
│ │ ├── lib/ # Shared utilities, providers, integrations
│ │ ├── server/ # Auth DAL, Drizzle schema, queries, ranking
│ │ │ ├── __tests__/ # Test setup & global configuration
│ │ │ └── db/ # Drizzle schema & database utilities
│ │ └── styles/ # Tailwind tokens and global styles
│ ├── scripts/ # Database and environment scripts
│ └── public/ # Static assets
├── drizzle.*.config.ts # Root-level Drizzle configs (all environments)
├── .github/ # GitHub Actions & templates
├── docs/ # Documentation
└── [config files] # Monorepo configuration (Turbo, TypeScript, etc.)
- Node.js 20+ (LTS recommended)
- pnpm 8+ (package manager)
- Git for version control
# Clone the repository
git clone https://github.com/discuno/discuno.git
cd discuno
# Install dependencies
pnpm install
# Start all packages in development
pnpm dev# Build the application
pnpm build
# Run quality checks
pnpm lint # ESLint check
pnpm typecheck # TypeScript validation
pnpm test # Run test suites
pnpm format # Format code with Prettier
# Database operations
pnpm db:generate # Generate Drizzle schema for the default environment
pnpm db:push # Push schema changes to the active database
pnpm db:studio # Open Drizzle Studio (use db:studio:<env> for scoped access)Main Application - Full-featured Next.js app with:
- 🔐 better-auth session management (email OTP + Google/Microsoft OAuth)
- 📊 Drizzle ORM + PostgreSQL/Railway
- 📅 Cal.com scheduling integration
- 🎨 Tailwind CSS + Radix UI
- 📱 Responsive design system
- 🔍 Advanced search & filtering
Core Technologies
- Monorepo: pnpm workspaces + Turborepo
- Frontend: Next.js 15 (App Router), React 19
- Language: TypeScript (strict mode)
- Styling: Tailwind CSS 4, Radix UI primitives
- Database: Drizzle ORM, PostgreSQL (Railway)
- Authentication: better-auth (Drizzle adapter, email OTP, OAuth)
- Build System: Turbo
Development Tools
- Testing: Vitest, Testing Library, Playwright (E2E)
- Linting: ESLint, TypeScript ESLint
- Formatting: Prettier, Tailwind Prettier plugin
- Git Hooks: Husky, lint-staged, Commitlint
- CI/CD: GitHub Actions, Dependabot
- Package Management: pnpm (fast, efficient)
Infrastructure & Deployment
- Platform: Vercel (optimized for Next.js)
- Database: Railway (PostgreSQL), Redis (caching)
- CDN: Vercel Edge Network
- Monitoring: Sentry error tracking
- Analytics: Vercel Analytics
- Email: Resend transactional delivery
We welcome contributions from the community! Please see our Contributing Guide for detailed information on:
- 🔧 Development setup
- 📝 Coding standards
- 🧪 Testing requirements
- 📋 Pull request process
- 🐛 Bug reporting
- 💡 Feature requests
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Add tests for new functionality
- Ensure all checks pass (
pnpm lint && pnpm typecheck && pnpm test) - Commit with conventional format (
feat: add amazing feature) - Push and create a Pull Request
Upcoming Features
- 📚 Storybook integration for component documentation
- 🌍 Internationalization (i18n) support
- 📊 Advanced analytics dashboard
- 🔔 Real-time notifications system
- 🎯 Advanced matching algorithms
- 📱 Mobile app (React Native)
- 🤖 AI-powered scheduling suggestions
- Languages: TypeScript, JavaScript, CSS
- Dependencies: Modern, well-maintained libraries
- Test Coverage: Comprehensive test suites
- Bundle Size: Optimized for performance
- 🐛 Bug Reports: GitHub Issues
- 💡 Feature Requests: GitHub Discussions
- 📧 Security Issues: security@discuno.com
- 🤝 Code of Conduct: conduct@discuno.com
This project is licensed under the MIT License - see the LICENSE file for details.
We are proud to be sponsored by Cal.com, the scheduling infrastructure for everyone.
Made with ❤️ by the Discuno Team
⭐ Star us on GitHub if this project helped you!