As part of our group project for the ISIA course, we developed an application called EventIS with the goal of utilizing technology for socialization.
- Users can create and share their own events.
- Users can browse events posted by others.
- Personalized user profiles allow users to save favorite events.
🔗 Live Demo: EventIS
- Username: user1
- Password: 12345
For my individual assignment, I implemented the use case of browsing available events, selecting filters, and viewing event details.
- The user navigates to the home screen where all events are displayed.
- The user can select a category and apply filters.
- The user selects an event to view more details.
- All events are displayed on the homepage, regardless of category.
- Users can browse freely and apply additional filters.
- Applying Additional Filters: Users can refine their search using checkboxes.
- Submitting Filters: Clicking the "Search" button applies the selected filters.
- Viewing Filtered Results: A dynamically updated event list is shown.
- Selecting an Event: Users can click an event to view detailed information.
- A. No Available Events:
- If no events match the filters, a message notifies the user.
- Users can modify the filters or return to the home screen.
- B. Searching Without Filters:
- Clicking "Search" without filters will display all available events without a warning message.
- Spring Boot
- Spring MVC
- Spring Data JPA
- Thymeleaf
- HTML, CSS, JavaScript
- H2 (in-memory) or MySQL (configurable)
- Maven
The application follows the MVC (Model-View-Controller) architecture:
- Model: The
Event
entity represents an event with attributes likeid
,name
,date
,city
, andprice
. TheUser
class was added for database compatibility but is not used in this specific use case. - View: Thymeleaf templates (
events.html
,event-details.html
,error.html
) for rendering UI components. - Controller: Handles user requests and interacts with the service layer (
ErrorController.java
,EventController.java
). - Service: Implements business logic and communicates with the database.
git clone https://github.com/kristavlastou/SpringBootEventIs.git
mvn clean install
mvn spring-boot:run
Note: Database credentials are already configured in the
application.properties
file, so no further setup is required.
http://localhost:8080/events
The repository remains private for security reasons, as per project requirements.
- The homepage displays a list of all available events, unfiltered
- The user finds the "City" filter section.
- Selects "Patra" from the list of available cities.
- Clicks the "Search" button
- The event list updates, showing only events located in Patra.
- The user browses the filtered list and clicks on any event
- The event details page loads, displaying all the available information
For security reasons the credentials to the database have been removed from the application.properties