Skip to content

thammireda/EmmasEvents

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

EmmasEvents

Event Management Platform

Overview

The Event Management Platform is a web application designed to help users create, manage, and RSVP to events. Built using Java Enterprise Edition (JEE) with JSP technologies, this application provides a user-friendly interface for event planning and coordination. Users can register, log in, create events, search for events, manage RSVPs, and handle event requests. The application ensures secure user authentication and data persistence using Spring Boot and JPA.

Features

  • User Authentication: Secure registration and login system with password hashing using BCrypt.
  • Event Management:
    • Create, update, and view events with details such as name, date, location, description, and event type.
    • Search events by name, date, location, and type.
  • RSVP System:
    • Users can RSVP to events and specify the number of attendees.
    • Update RSVP status and attendee count.
  • Event Requests:
    • Users can submit event requests, which can be accepted or rejected by managers.
    • Accepted requests are converted into events.
  • Dashboard: A personalized dashboard for users to view their events and requests.
  • Session Management: Secure session handling for user authentication and authorization.

Technologies Used

  • Backend:
    • Java (JEE)
    • Spring Boot (for dependency injection, MVC, and application setup)
    • Spring Data JPA (for database operations)
    • BCrypt (for password hashing)
  • Frontend:
    • JSP (JavaServer Pages) for dynamic web content
  • Database:
    • JPA with Hibernate (for ORM and database interaction)
  • Logging:
    • Java Util Logging (for application logging)
  • Build Tool:
    • Maven (for dependency management and project build)

Project Structure

eventmanagement/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/events/eventmanagement/ │ │ │ ├── controller/ # Controllers for handling HTTP requests │ │ │ │ └── AuthController.java │ │ │ ├── model/ # Entity classes for database mapping │ │ │ │ ├── Event.java │ │ │ │ ├── EventRequest.java │ │ │ │ ├── EventRsvp.java │ │ │ │ ├── EventType.java │ │ │ │ └── User.java │ │ │ ├── repository/ # JPA repositories for database operations │ │ │ │ ├── EventRepository.java │ │ │ │ ├── EventRequestRepository.java │ │ │ │ ├── EventRsvpRepository.java │ │ │ │ ├── EventTypeRepository.java │ │ │ │ └── UserRepository.java │ │ │ ├── service/ # Business logic and service layer │ │ │ │ ├── AuthService.java │ │ │ │ └── EventService.java │ │ │ └── App.java # Main application class │ │ └── webapp/ │ │ └── WEB-INF/ │ │ └── views/ # JSP files for the frontend │ │ ├── dashboard.jsp │ │ ├── event-requests.jsp │ │ ├── events.jsp │ │ ├── index.jsp │ │ ├── login.jsp │ │ ├── manage-rsvp.jsp │ │ ├── signup.jsp │ │ └── update-event.jsp │ └── test/ # Test directory (currently empty) └── pom.xml # Maven configuration file

Key Components

Controllers:

  • AuthController: Handles user authentication, event creation, RSVP management, and event request processing.

Models:

  • Event: Represents an event with details like name, date, location, and associated RSVPs.
  • EventRequest: Represents a request to create an event.
  • EventRsvp: Manages RSVP details, including the number of attendees.
  • EventType: Categorizes events (e.g., Conference, Party).
  • User: Represents a user with associated events and requests.

Services:

  • AuthService: Manages user registration and authentication.
  • EventService: Handles event creation, updates, RSVPs, and event request processing.

Repositories:

  • JPA repositories for each model to interact with the database.

JSP Views:

  • Dynamic pages for user interaction, including dashboards, event listings, and forms.

About

Event management

Resources

License

Stars

Watchers

Forks

Releases

No releases published