Eventura 🔗
Welcome to Eventura, your ultimate solution for seamless event hosting and management. This ReadMe will guide you through the project's tech stack, features, and steps to get started.
- Node.js
- Next.js
- TypeScript
- TailwindCSS
- Stripe
- Zod
- React Hook Form
- Shadcn
- uploadthing
Eventura utilizes Node.js for building the server-side of the application, and Next.js for enabling server-side rendering and static site generation. TypeScript is used to add static typing, enhancing code quality and maintainability. The design is crafted with TailwindCSS, a utility-first CSS framework. Stripe is integrated for handling secure payment transactions. Zod is employed for schema declaration and validation to ensure data integrity. React Hook Form manages form states and validation efficiently in our React components. Shadcn aids in building interactive user interfaces, and uploadthing handles file uploads seamlessly. User authentication is managed by Clerk, ensuring secure and efficient user management.
User management through Clerk ensures secure and efficient authentication.
Comprehensive functionality for creating, reading, updating, and deleting events, giving users full control over event management.
- Create Events: Users can effortlessly generate new events, providing essential details such as title, date, location, and additional information.
- Read Events: Seamless access to a detailed view of all events, allowing users to explore event specifics, including descriptions, schedules, and related information.
- Update Events: Empowering users to modify event details dynamically, ensuring that event information remains accurate and up-to-date.
- Delete Events: A straightforward process for removing events from the system, giving administrators the ability to manage and curate the platform effectively.
Smartly connects events that are related and displays them on the event details page, making it more engaging for users.
Efficient organization of events, ensuring a structured and user-friendly display for the audience, such as showing events created by the user on the user profile.
Empowering users with a robust search and filter system, enabling them to easily find the events that match their preferences.
Dynamic categorization allows for the seamless addition of new event categories, keeping your platform adaptable.
Smooth and secure payment transactions using Stripe, enhancing user experience during the checkout process.
Comprehensive order management system, providing a clear overview of all event-related transactions.
Quick and efficient search functionality for orders, facilitating easy tracking and management.
...and many more features, including code architecture and reusability.
Follow these steps to set up the project locally on your machine.
Make sure you have the following installed on your machine:
git clone https://github.com/your-username/your-project.git
cd your-projectInstallation 🕹️
Install the project dependencies using npm:
npm installSet Up Environment Variables 🧩
Create a new file named .env in the root of your project and add the following content:
#NEXT
NEXT_PUBLIC_SERVER_URL=
#CLERK
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_CLERK_WEBHOOK_SECRET=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
#MONGODB
MONGODB_URI=
#UPLOADTHING
UPLOADTHING_SECRET=
UPLOADTHING_APP_ID=
#STRIPE
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=Replace the placeholder values with your actual credentials
Running the Project
npm startOpen http://localhost:3000 in your browser to view the project.
