A Modern Event Management Platform for Builders and Communities
Eventra is a comprehensive, open-source platform designed to empower organizers to create, manage, and track events seamlessly. Built with a modern tech stack featuring a React frontend and Spring Boot backend, Eventra provides a full suite of tools for running successful events, from initial creation to post-event analytics.
- Live Demo
- Project Insights
- Features
- Tech Stack
- Getting Started
- Project Structure
- Deployment
- Contributing
- License
- Contributors
- Frontend: https://eventra-psi.vercel.app/
- Backend Repo: https://github.com/SandeepVashishtha/Eventra-Backend
- Backend API: https://eventra-backend-dgcae3etebbag8ft.centralindia-01.azurewebsites.net
- API Documentation: Backend Swagger UI
| π Stars | π΄ Forks | π Issues | π Open PRs | π Closed PRs | π οΈ Languages | π₯ Contributors |
- Event Creation & Management: Easily create and customize events with rich details.
- User Authentication: Secure JWT-based authentication with role-based access control.
- Admin & User Dashboards: Personalized dashboards for seamless management and tracking.
- Real-time Analytics: Track event performance and attendee engagement.
- Hackathon Hub: Specialized features for managing hackathons.
- Project Gallery: Showcase community projects and foster collaboration.
- Community Leaderboards: Gamify participation and recognize top contributors.
- Feedback System: Collect valuable post-event feedback through surveys.
- Responsive Design: A mobile-first interface for a great experience on any device.
| Frontend | Backend | DevOps & Infrastructure |
|---|---|---|
| React 18.2 | Spring Boot 3.3.1 | Git & GitHub for Version Control |
| React Router for Routing | Java 17 | Vercel for Frontend Hosting |
| Framer Motion for Animations | Spring Security & JWT | Maven for Build Automation |
| Tailwind CSS (or CSS) for Styling | MySQL & H2 Databases | OpenAPI 3.0 for API Docs |
| Create React App | Spring Data JPA |
Follow these steps to set up and run the frontend application on your local machine.
- Node.js: Version 16.x or higher
- npm: (usually comes with Node.js)
- Git
-
Clone the Repository:
git clone https://github.com/SandeepVashishtha/Eventra.git cd Eventra -
Install Dependencies:
npm install
-
Configure Environment Variables: Create a
.envfile in the root of the project and add the backend API URL. The backend server runs on port8080by default.# .env REACT_APP_API_URL=http://localhost:8080/apiNote: For the backend setup instructions, please refer to the backend repository's README.
-
Run the Development Server:
npm start
The application will be available at
http://localhost:3000.
Follow these steps to enable Google Sign-In for the project:
-
Create Google Client ID
- Go to Google Cloud Console.
- Create a new project (or use existing one).
- Navigate to APIs & Services > Credentials.
- Click Create Credentials > OAuth 2.0 Client IDs.
- Select Web application.
- Add your frontend URL in Authorized JavaScript origins (e.g., http://localhost:3000).
- Add redirect URI if using redirect flow (optional).
- Copy the Client ID.
-
Add Client ID to Environment
- Open
.envor create.envin the root of the project. - Add the following line:
REACT_APP_GOOGLE_CLIENT_ID=your_google_client_id_here
- Open
-
Run the App
- Install dependencies:
npm install - Start frontend:
npm start - Go to Signup/Login page and you should see Sign in with Google button.
- Test signing in with your Google account.
- Install dependencies:
-
Notes
- Ensure your Google account allows OAuth for the given project.
- For production, add your deployed domain in Authorized JavaScript origins.
The frontend codebase is organized to be scalable and maintainable.
Eventra/
βββ public/ # Static assets and index.html
βββ src/
βββ assets/ # Images, fonts, etc.
βββ components/ # Reusable UI components (common, layout, etc.)
β βββ auth/ # Login, Signup, ProtectedRoute
β βββ common/ # Buttons, Modals, Loading spinners
β βββ layout/ # Navbar, Footer
βββ context/ # React Context providers (AuthContext, ThemeContext)
βββ hooks/ # Custom React hooks
βββ pages/ # Top-level page components (HomePage, EventsPage, etc.)
βββ services/ # API calls and external service integrations
βββ styles/ # Global CSS files
βββ utils/ # Utility functions
βββ App.js # Main application component with routing
βββ index.js # Entry point of the React application
This project is configured for easy deployment on Vercel.
- Fork the repository and connect it to your Vercel account.
- Configure the build settings:
- Build Command:
npm run build - Output Directory:
build
- Build Command:
- Add Environment Variables in the Vercel project settings:
REACT_APP_API_URL: The URL of your deployed backend API.
- Click Deploy. That's it!
We welcome contributions from the community! To get started, please follow these guidelines.
- Fork the repository.
- Create a new branch for your feature or bug fix:
git checkout -b feature/your-amazing-feature
- Make your changes and commit them with a meaningful message:
git commit -m "feat: Add amazing new feature" - Push your changes to your forked repository:
git push origin feature/your-amazing-feature
- Open a Pull Request to the
mainbranch of the original repository.
- To ensure active development, issues are automatically unassigned after 7 days of inactivity.
- To keep your assignment, please open a draft Pull Request within the 7-day period to show progress.
- For more details, see our Auto-unassign Documentation.
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
A huge thank you to everyone who has contributed to Eventra! Your efforts make this project possible.
|
Sandeep Vashishtha |
Rhythm |
Built with β€οΈ by the Eventra Team