Skip to content

SandeepVashishtha/Eventra

Eventra

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.

License Java Spring Boot React


Table of Contents

Overview

Eventra helps communities and organizers run events end-to-end, including registrations, dashboards, hackathon workflows, and feedback collection.

This repository contains the React frontend application for Eventra. The backend services are maintained separately in the Eventra-Backend repository using Spring Boot and Java.

Live Demo

API Reference

Project Insights

Stars Forks Issues Open PRs Closed PRs Languages Contributors
Stars Forks Issues Open PRs Closed PRs Languages Count Contributors Count

Features

Core Functionality

  • 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.

Platform Features

  • 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.

Tech Stack

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 Azure App Service for Backend Hosting

Note: This repository mainly contains the frontend implementation. Backend APIs and services are maintained separately in the Eventra-Backend repository.

Getting Started

Follow these steps to set up and run the frontend application on your local machine.

Prerequisites

  • Node.js: Version 16.x or higher
  • npm: (usually comes with Node.js)
  • Git

Installation & Setup

  1. Clone the Repository:

    git clone https://github.com/SandeepVashishtha/Eventra.git
    cd Eventra
  2. Install Dependencies:

    npm install
  3. Configure Environment Variables: Set up your local .env file as described in the Environment Variables section. The backend server runs on port 8080 by default.

Note: For the backend setup instructions, please refer to the backend repository's README.

  1. Run the Development Server:
    npm start
    The application will be available at http://localhost:3000.

Google OAuth Setup

Follow these steps to enable Google Sign-In for the project:

  1. 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.
  2. Add Client ID to Environment

    • Open .env or create .env in the root of the project.
    • Add the following line:
      REACT_APP_GOOGLE_CLIENT_ID=your_google_client_id_here
  3. 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.
  4. Notes

    • Ensure your Google account allows OAuth for the given project.
    • For production, add your deployed domain in Authorized JavaScript origins.

Environment Variables

Create a .env file in the project root and add the variables below.

REACT_APP_API_URL=http://localhost:8080/api
REACT_APP_GOOGLE_CLIENT_ID=your_google_client_id_here

Project Structure

The repository is organized into modular frontend components, contexts, configuration files, and utility helpers.

Eventra/
├── public/
├── src/
│   ├── assets/
│   ├── components/
│   │   ├── admin/
│   │   ├── auth/
│   │   ├── common/
│   │   ├── Layout/
│   │   ├── routes/
│   │   ├── styles/
│   │   └── user/
│   ├── config/
│   ├── context/
│   ├── jhalak/
│   ├── Pages/
│   ├── utils/
│   ├── App.js
│   ├── App.css
│   ├── index.js
│   └── index.css
├── tests/
├── .env.example
├── package.json
├── tailwind.config.js
└── README.md

Deployment

This project is configured for easy deployment on Vercel.

  1. Fork the repository and connect it to your Vercel account.
  2. Configure the build settings:
    • Build Command: npm run build
    • Output Directory: build
  3. Add Environment Variables in the Vercel project settings:
    • REACT_APP_API_URL: The URL of your deployed backend API.
  4. Click Deploy. That's it!

Contributing

We welcome contributions from the community! To get started, please follow these guidelines.

Development Workflow

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix:
    git checkout -b feature/your-amazing-feature
  3. Make your changes and commit them with a meaningful message:
    git commit -m "feat: Add amazing new feature"
  4. Push your changes to your forked repository:
    git push origin feature/your-amazing-feature
  5. Open a Pull Request to the master branch of the original repository.

Issue Assignment Policy

  • 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.

License

This project is licensed under the Apache License 2.0. See the LICENSE file for details.

Contributors

A huge thank you to everyone who has contributed to Eventra! Your efforts make this project possible.

Contributors

Maintainers

Sandeep
Sandeep Vashishtha
LinkedIn
Rhythm
Rhythm
LinkedIn

Built with care by the Eventra Team

About

Eventra is a comprehensive event management system that empowers organizers to create, manage, and track events seamlessly. Built with a modern tech stack featuring React frontend and Spring Boot backend, Eventra provides everything needed to run successful events from creation to post-event analytics.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors