A modern startup directory platform where entrepreneurs can pitch their ideas, connect with other founders, and get noticed in virtual competitions.
- 🔐 GitHub Authentication - Secure login with NextAuth.js
- 📝 Startup Pitches - Create and share startup ideas with markdown support
- 🔍 Search & Discovery - Find startups by category, title, or author
- 👥 User Profiles - Showcase your startup portfolio
- 📊 Analytics - Track views and engagement
- 🎨 Modern UI - Beautiful, responsive design with custom styling
- ⚡ Performance - Built with Next.js 15 and Turbopack
- 🛡️ Security - XSS protection and input sanitization
- 📱 Mobile-First - Fully responsive design
- Next.js 15 - React framework with App Router
- React 19 - Latest React with concurrent features
- TypeScript - Type-safe development
- Tailwind CSS 4 - Utility-first CSS framework
- Radix UI - Accessible component primitives
- Lucide React - Beautiful icons
- Sanity CMS - Headless content management
- NextAuth.js - Authentication with GitHub provider
- Server Actions - Type-safe server-side mutations
- Sentry - Error monitoring and performance tracking
- ESLint - Code linting and formatting
- Prettier - Code formatting
- Turbopack - Fast bundling and development
- Node.js 18+
- npm, yarn, pnpm, or bun
- GitHub account (for authentication)
- Sanity account (for CMS)
-
Clone the repository
git clone https://github.com/DORMODO/yc_directory.git cd yc_directory -
Install dependencies
npm install # or yarn install # or pnpm install
-
Set up environment variables
cp .env.example .env.local
Fill in the following variables:
# Sanity Configuration NEXT_PUBLIC_SANITY_PROJECT_ID=your_project_id NEXT_PUBLIC_SANITY_DATASET=production NEXT_PUBLIC_SANITY_API_VERSION=2025-09-01 SANITY_WRITE_TOKEN=your_write_token # NextAuth Configuration AUTH_SECRET=your_auth_secret AUTH_GITHUB_ID=your_github_client_id AUTH_GITHUB_SECRET=your_github_client_secret # Sentry Configuration (Optional) NEXT_PUBLIC_SENTRY_DSN=your_sentry_dsn
-
Run the development server
npm run dev # or yarn dev # or pnpm dev
-
Open your browser Navigate to http://localhost:3000
Configure providers in auth.ts:
- Currently supports GitHub OAuth
- Easy to extend with other providers
- Push your code to GitHub
- Connect your repository to Vercel
- Add environment variables in Vercel dashboard
- Deploy!
- Turbopack - Fast development builds
- Image Optimization - Next.js automatic image optimization
- Code Splitting - Automatic route-based code splitting
- Font Optimization - Local font loading
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow TypeScript best practices
- Use ESLint and Prettier for code formatting
- Write meaningful commit messages
- Test your changes thoroughly
- Update documentation as needed
This project is licensed under the MIT License - see the LICENSE file for details.