Table of contents
EventHub is a ticketing application designed for event industry professionals and the general public.
The primary goal of EventHub is to facilitate the management and sale of tickets for events by providing an interface for venue managers and end-users. On one side, professionals can manage events, venues, sessions, and pricing. On the other, the general public can view shows, make reservations, and purchase tickets.
Three-tier architecture : Presentation --> Business logic --> Data layer More information is to be found in the documentation section.
| Software stack | CI/CD stack | Servers |
| ------------------------------- | ------------------------------------------- | ------- |
| SpringBoot, Gradle | | Tomcat |
| VueJs3, NPM | | |
| | | Apache |
| ------------------------------- | ------------------------------------------- | |
| Tests | Documentation | |
| ------------------------------- | ------------------------------------------- | |
| Junit, mockMVC, slice testing | Spring REST Docs | |
clone the project
git clone https://github.com/vifeng/tickettothemoon.git
start the Backend
cd event-hub-server
./gradlew bootRun
Access to the Application endpoints such as the EVENTS endpoint http://localhost:8080/api/events in your browser.
start the Frontend
cd event-hub-site
npm run dev
Access the application http://localhost:5173/ in your browser.
In the event-hub-server folder
./gradlew build -x test
# Build without the tests
./gradlew clean
# clean the build folder
CTL+C
# Shutdown the front or backend from the terminal
In the event-hub-site folder
npm list vue
# to check the vue version.
npm run dev
# run the application
npm run build
# build the application
./gradlew build
# build the app and generate documentation
Access to the API documentation at http://localhost:8080/api in your browser.
Sometimes the application may not start because the linting task is failing. If you encounter this issue, you can run the following commands:
./gradlew spotlessApply
# apply the linting rules
./gradlew check
# run all verification tasks, including tests and linting
./gradlew build
# build the app and generate documentation
Access to the actuator at http://localhost:8080/actuator in your browser.
The project is in development.
See the project's roadmap at github projects See the open issues for a list of proposed features (and known issues) at github issues
see functional requirements documentation
More information about the development process is to be found in the repository wiki
The documentation is depending on the tests results. Thus all the tests are passing otherwise the build couldn't be done.
See the open issues for a list of proposed features (and known issues) at the project's github issues