Event-Me is a platform designed to help community members browse, sign up for, and manage events. Staff members have additional functionality to create and manage events, while users can add events to their personal calendars using Google Calendar integration via a generated URL. The platform is built with modern technologies, ensuring a responsive and accessible user experience.
The platform is hosted on Vercel and can be accessed at:
https://event-me-two.vercel.app/
Event-Me was created for a small community business to provide a platform where members can:
- Browse a list of events.
- Sign up for events.
- Add events to their personal calendars using a Google Calendar URL.
- Allow staff members to create and manage events.
The platform fulfills the following Minimum Viable Product (MVP) requirements:
- Display a list of events for users to browse.
- Allow users to sign up for an event.
- Enable users to add events to their Google Calendar after signing up via a generated URL.
- Provide staff members with the ability to sign in and create/manage events.
Event-Me is built using the following technologies:
- Next.js: Framework for building the frontend and backend.
- Prisma: ORM for database management.
- TypeScript: Ensures type safety and better developer experience.
- Clerk: Handles user authentication and authorization.
- Shadcn: Provides a modern and accessible UI component library.
- Google Calendar URL: Allows users to add events to their personal calendars via a generated URL.
- Vercel: Hosting platform for the application.
- Neon: Cloud-hosted PostgreSQL database.
- Browse Events: Users can view a list of upcoming events.
- Sign Up for Events: Users can register for events and manage their signups.
- Add to Calendar: Users can add events to their Google Calendar using a generated URL.
- Create Events: Staff members can create new events with details like title, description, location, and capacity.
- Manage Events: Staff members can edit or delete events.
- Responsive Design: The platform is fully responsive and works seamlessly across devices.
- Accessibility: Designed with accessibility in mind, supporting screen readers and keyboard navigation.
- Loading States: Clear feedback is provided during interactions, such as signing up for events or removing signups.
To explore the platform, you can use the following test accounts:
- Email: eventmeadmin@eventme.com
- Password: eventmeadminishere123
- Email: eventmeuser@eventme.com
- Password: eventmeuserishere123
Follow these steps to set up and run the project locally:
- Node.js (v18 or higher)
- PostgreSQL database (hosted on Neon or locally)
- Clerk account for authentication
- Clone the repository:
git clone https://github.com/mjl1999/event-me.git cd event-me
- Install dependencies:
npm install
- Set up environment variables:
- Create a
.env
file in the root directory. - Add the following variables:
DATABASE_URL="your_postgresql_connection_string" NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY="your_clerk_key" CLERK_SECRET_KEY="your_clerk_secret_key" CLERK_WEBHOOK_SIGNING_SECRET="a_random_webhook_key"
- Replace the placeholder values with your actual credentials.
- Create a
- Run the development server:
npm run dev
- Open your browser and navigate to
http://localhost:3000
.
Event-Me uses a Google Calendar URL to allow users to add events to their personal calendars. After signing up for an event, users can click the "Add to Google Calendar" button, which generates a URL that opens Google Calendar with the event details pre-filled.
Event-Me is a comprehensive platform that streamlines the process of event management for both users and staff members. With its modern tech stack, responsive design, and intuitive features, it addresses the needs of community members and organizers alike!