YCDirectory is a directory application built with Next.js, using Sanity as the CMS, NextAuth.js for authentication, and Tailwind CSS for styling and Sentry for error tracking. This tool allows users to explore, register, and manage directory data, offering a fast and modern experience powered by advanced frontend and backend technologies.
Check out the live demo here: YCDirectory on Vercel
- Browse the Directory: Search and view entries with a clean and user-friendly interface.
- Authentication: Sign up or log in using NextAuth.js for secure user account management.
- Content Management: Easily add, edit, or delete entries with Sanity CMS integration.
- Tailwind CSS Styling: Modern, responsive design ensures a visually appealing experience on any device.
- Error Tracking with Sentry: Monitors and reports errors in real time, providing insights for a more stable application.
- Next.js - A React framework for building fast, scalable web applications.
- Sanity - A headless CMS that allows flexible and real-time content management.
- NextAuth.js - A complete authentication solution for Next.js.
- Tailwind CSS - A CSS framework for responsive and highly customizable design.
- Sentry - Real-time error tracking that helps monitor and fix crashes in production.
-
Clone this repository:
git clone https://github.com/KevinBermudezC/YCDirectory.git cd YCDirectory -
Install dependencies:
npm install
-
Set up environment variables:
Create a
.env.localfile in the root of the project and add the following variables:AUTH_SECRET=your_secret_here AUTH_GITHUB_ID=your_github_id AUTH_GITHUB_SECRET=your_github_secret NEXT_PUBLIC_SANITY_PROJECT_ID=your_sanity_project_id NEXT_PUBLIC_SANITY_DATASET=your_sanity_dataset NEXT_PUBLIC_SANITY_API_VERSION= SANITY_WRITE_TOKEN= SENTRY_AUTH_TOKEN=
- AUTH_SECRET: Generate a secret for NextAuth authentication.
- NEXT_PUBLIC_SANITY_PROJECT_ID and NEXT_PUBLIC_SANITY_DATASET: Get these values from your Sanity project.
-
Start the development server:
npm run dev
Open http://localhost:3000 to view the application in your browser.
This project is automatically deployed on Vercel. For manual deployment, make sure to configure environment variables on Vercel or your chosen deployment service.
Contributions are welcome. Please follow these steps to contribute to the project:
- Fork the project.
- Create a branch for your feature (
git checkout -b feature/new-feature). - Commit your changes (
git commit -m 'Add new feature'). - Push to the branch (
git push origin feature/new-feature). - Open a Pull Request.
This project is licensed under the MIT License. For more details, see the LICENSE file.