Skip to content

shikhar1est/Eventra

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

102 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Eventra πŸŽ‰

A Modern Event Management Platform for Builders and Communities

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.

License Java Spring Boot React

πŸ“‹ Table of Contents

✨ Features

🎯 Core Functionality

  • Event Creation & Management - Create and customize events with rich details
  • User Authentication & Authorization - Secure JWT-based authentication system
  • RSVP Management - Handle attendee registrations and responses
  • QR Code Check-ins - Streamlined event check-in process
  • Real-time Analytics - Track event performance and attendee engagement
  • Admin Dashboard - Comprehensive administrative controls
  • User Dashboard - Personalized user experience and event tracking

πŸ—οΈ Platform Features

  • Hackathon Hub - Specialized features for hackathon management
  • Project Gallery - Showcase community projects and collaborations
  • Collaboration Tools - Foster community engagement and networking
  • Feedback System - Post-event surveys and feedback collection
  • Leaderboards - Gamification and community recognition
  • Responsive Design - Mobile-first, responsive user interface

πŸ› οΈ Tech Stack

Backend

  • Framework: Spring Boot 3.3.1
  • Language: Java 17
  • Database: JPA with configurable database support
  • Security: Spring Security with JWT authentication
  • Build Tool: Maven
  • Documentation: OpenAPI 3.0

Frontend

  • Framework: React 18.2.0
  • Routing: React Router DOM 6.8.0
  • Animations: Framer Motion 8.5.2
  • Icons: Heroicons React 2.0.16
  • Styling: CSS with modern responsive design
  • Build Tool: Create React App

DevOps & Infrastructure

  • Environment Profiles: Development, Production, Azure
  • API Documentation: OpenAPI/Swagger specification
  • Version Control: Git with comprehensive documentation

πŸ—οΈ Architecture

Eventra/
β”œβ”€β”€ backend/                    # Spring Boot API Server
β”‚   β”œβ”€β”€ src/main/java/com/eventra/
β”‚   β”‚   β”œβ”€β”€ config/            # Configuration classes
β”‚   β”‚   β”œβ”€β”€ controller/        # REST API controllers
β”‚   β”‚   β”œβ”€β”€ dto/              # Data Transfer Objects
β”‚   β”‚   β”œβ”€β”€ entity/           # JPA entities
β”‚   β”‚   β”œβ”€β”€ service/          # Business logic
β”‚   β”‚   β”œβ”€β”€ repository/       # Data access layer
β”‚   β”‚   └── exception/        # Custom exceptions
β”‚   └── src/main/resources/    # Configuration files
β”œβ”€β”€ frontend/                  # React Web Application
β”‚   β”œβ”€β”€ public/               # Static assets
β”‚   └── src/
β”‚       β”œβ”€β”€ components/       # React components
β”‚       β”œβ”€β”€ context/          # React context providers
β”‚       β”œβ”€β”€ config/           # API configuration
β”‚       └── styles/           # CSS stylesheets
└── docs/                     # API Documentation
    β”œβ”€β”€ openapi.yaml          # OpenAPI specification
    └── *.md                  # Endpoint documentation

πŸš€ Quick Start

Prerequisites

  • Java 17 or higher
  • Node.js 16 or higher
  • npm or yarn
  • Git

Clone the Repository

git clone https://github.com/SandeepVashishtha/Eventra.git
cd Eventra

Backend Setup

# Navigate to backend directory
cd backend

# Run with Maven (Windows)
.\mvnw.cmd spring-boot:run

# Run with Maven (Linux/Mac)
./mvnw spring-boot:run

# Or build and run the JAR
.\mvnw.cmd clean package
java -jar target/backend-0.0.1-SNAPSHOT.jar

Frontend Setup

# Navigate to frontend directory
cd frontend

# Install dependencies
npm install

# Start development server
npm start

Access the Application

πŸ”§ Installation

Development Environment

  1. Backend Configuration

    cd backend
    cp src/main/resources/application.properties.example src/main/resources/application.properties

    Edit application.properties with your database and security configurations.

  2. Environment Profiles

    • application-dev.properties - Development settings
    • application-prod.properties - Production settings
    • application-azure.properties - Azure deployment settings
  3. Frontend Configuration

    cd frontend
    # Update API endpoints in src/config/api.js

Production Deployment

  1. Backend Build

    cd backend
    .\mvnw.cmd clean package -Pprod
  2. Frontend Build

    cd frontend
    npm run build

πŸ“š API Documentation

Comprehensive API documentation is available in the /docs directory:

API Base URLs

  • Development: http://localhost:8080/api
  • Production: https://api.eventra.com/api

🎨 Frontend Components

Core Components

  • Hero - Landing page hero section
  • Navbar - Navigation and user menu
  • Dashboard - User dashboard with event overview
  • AdminDashboard - Administrative control panel
  • EventCreation - Event creation and editing forms

Feature Components

  • EventsSection - Event listing and search
  • HackathonHub - Hackathon-specific features
  • ProjectGallery - Community project showcase
  • CollaborationHub - Team collaboration tools
  • Leaderboard - Community rankings and recognition

Auth Components

  • Login/Signup - User authentication
  • ProtectedRoute - Route protection middleware
  • AuthContext - Authentication state management

βš™οΈ Configuration

Backend Configuration

Database Configuration

# application.properties
spring.datasource.url=jdbc:postgresql://localhost:5432/eventra
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.jpa.hibernate.ddl-auto=update

Security Configuration

# JWT Configuration
jwt.secret=your-jwt-secret-key
jwt.expiration=86400000

Frontend Configuration

API Configuration

// src/config/api.js
const API_BASE_URL = process.env.NODE_ENV === 'production' 
  ? 'https://api.eventra.com/api'
  : 'http://localhost:8080/api';

🀝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Workflow

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Code Standards

  • Follow Java conventions for backend code
  • Use ESLint and Prettier for frontend code
  • Write comprehensive tests for new features
  • Update documentation for API changes

πŸ“„ License

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

πŸ”— Links

πŸ‘₯ Contributors

Thanks to all the amazing people who have contributed to Eventra!

Contributors

Contributor updates automatically every 24 hours

πŸš€ Want to contribute?

We'd love your help! Check out our Contributing Guidelines to get started.

πŸ‘₯ Maintainers


Built with ❀️ for the community. Happy event organizing! πŸŽ‰

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Β 
Β 
Β 

Contributors

Languages

  • JavaScript 53.4%
  • CSS 25.2%
  • Java 21.1%
  • HTML 0.3%