vifeng / TicketToTheMoon

WIP: Ticket office website. back office for venues to operate their shows and front office to buy tickets for the public.
1 stars 0 forks source link

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.

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

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.

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