Skip to content

WIP: Ticket office website. back office for venues to operate their shows and front office to buy tickets for the public.

Notifications You must be signed in to change notification settings

vifeng/TicketToTheMoon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Table of contents



PROJECT : eventhubserver

About The Project

EventHub is a ticketing application designed for event industry professionals and the general public.

Application objective

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 application architecture

Three-tier architecture : Presentation --> Business logic --> Data layer More information is to be found in the documentation section.

  • Presentation Layer (front-end): Represented by event-hub-site, which is the user interface developed in Vue.js. This is the part visible to users (both the public and managers) for interacting with the application.
  • Business Logic Layer (back-end): Represented by event-hub-server, which is the REST API written in Java/Spring Boot. This layer contains the business logic, such as data processing, event management, venue management, reservations, and more.
  • Data Layer: During development, the application uses an H2 database and test data managed by Flyway.

Documentation and Demonstration

Build with

| Software stack                  | CI/CD stack                                 | Servers |
| ------------------------------- | ------------------------------------------- | ------- |
| SpringBoot, Gradle              |                                             | Tomcat  |
| VueJs3, NPM                     |                                             |         |
|                                 |                                             | Apache  |
| ------------------------------- | ------------------------------------------- |         |
| Tests                           | Documentation                               |         |
| ------------------------------- | ------------------------------------------- |         |
| Junit, mockMVC, slice testing   | Spring REST Docs                            |         |

Versions used for the development

  • Gradle 8.0.2
  • Java 17.0.2
  • Kotlin 1.8.10
  • NPM 9.6.6
  • Node v19.8.1
  • Vue 3.3.2
  • Vite 4.3.6

GETTING STARTED

1. RUNNING LOCALLY

Installation & running

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.

Few commands

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


API Documentation & actuator

API Documentation

./gradlew build
# build the app and generate documentation

Access to the API documentation at http://localhost:8080/api in your browser.

Troubleshooting

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

Actuator

Access to the actuator at http://localhost:8080/actuator in your browser.



GENERAL INFO

Status

The project is in development.

  • The backend is almost finished. All the important buisness logic has been done and tested.
  • The frontend is in progress. It only shows a few pages of some get requests to the API.

Roadmap

See the project's roadmap at github projects See the open issues for a list of proposed features (and known issues) at github issues

Features

see functional requirements documentation

Versions and platform support

More information about the development process is to be found in the repository wiki

Tests results

The documentation is depending on the tests results. Thus all the tests are passing otherwise the build couldn't be done.

Issues and bugs

See the open issues for a list of proposed features (and known issues) at the project's github issues


CONTRIBUTE / CONTACT


LICENCE

MIT

About

WIP: Ticket office website. back office for venues to operate their shows and front office to buy tickets for the public.

Resources

Stars

Watchers

Forks

Packages

No packages published