A full-stack Next.js application for finding and managing events. Users can discover events, create their own events, and contribute to the project.
- User authentication with Google and email/password
- Event creation and management
- Admin approval system for events
- Responsive design
- Dark mode support
- PostgreSQL database with Prisma ORM
- Next.js 13 (App Router)
- TypeScript
- Tailwind CSS
- shadcn/ui components
- Prisma
- PostgreSQL
- NextAuth.js
- Node.js 16+
- PostgreSQL database
- Google OAuth credentials (for Google Sign-in)
Create a .env file in the root directory with the following variables:
DATABASE_URL="postgresql://user:password@localhost:5432/eventfinder"
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET="your-secret-key"
GOOGLE_CLIENT_ID="your-google-client-id"
GOOGLE_CLIENT_SECRET="your-google-client-secret"- Clone the repository:
git clone https://github.com/yourusername/event-finder.git
cd event-finder- Install dependencies:
npm install- Set up the database:
npx prisma generate
npx prisma db push- Start the development server:
npm run devWe welcome contributions! Here's how you can help:
- Fork the repository
- Create a new branch (
git checkout -b feature/amazing-feature) - Make your changes
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow the existing code style
- Write meaningful commit messages
- Update documentation as needed
- Add tests for new features
- Ensure all tests pass before submitting a PR
This project is licensed under the MIT License - see the LICENSE file for details.