{"id":20957021,"url":"https://github.com/sameerasw/ticket-in-server","last_synced_at":"2025-10-08T01:29:20.613Z","repository":{"id":262516379,"uuid":"881561942","full_name":"sameerasw/ticket-in-server","owner":"sameerasw","description":"OOP Coursework project back-end containing the logic and configuration for the ticket booking system.","archived":false,"fork":false,"pushed_at":"2024-12-11T05:39:31.000Z","size":334,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-19T23:44:38.100Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sameerasw.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-31T20:18:23.000Z","updated_at":"2024-12-11T05:39:34.000Z","dependencies_parsed_at":"2024-12-10T08:35:57.298Z","dependency_job_id":null,"html_url":"https://github.com/sameerasw/ticket-in-server","commit_stats":null,"previous_names":["sameerasw/ticket-in-backend","sameerasw/ticket-in-server"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sameerasw%2Fticket-in-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sameerasw%2Fticket-in-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sameerasw%2Fticket-in-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sameerasw%2Fticket-in-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sameerasw","download_url":"https://codeload.github.com/sameerasw/ticket-in-server/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243352033,"owners_count":20276916,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-19T01:29:16.756Z","updated_at":"2025-10-08T01:29:15.585Z","avatar_url":"https://github.com/sameerasw.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ticket-in-server\n\nThis project is the backend for the TicketIn application, a ticket booking system developed as part of a coursework project at the University of Westminster for the OOP module. The backend is built using Java and Spring Boot, and it provides RESTful APIs and WebSocket endpoints for managing events, tickets, customers, and vendors. [ticket-in-client →](https://github.com/sameerasw/ticket-in-client)\n\n\u003cimg width=\"1005\" alt=\"CleanShot 2024-12-11 at 11  08 30@2x\" src=\"https://github.com/user-attachments/assets/17a59d94-6aa0-418f-a144-12446b30e75b\"\u003e\n\n## Technologies Used\n\n- **Java**: Programming language used for development.\n- **Spring Boot**: Framework for building the backend application.\n- **Spring Data JPA**: For database interactions.\n- **PostgreSQL**: Database used for storing data. (Using NeonPostgre)\n- **WebSocket**: For real-time communication.\n- **Maven**: Build and dependency management tool.\n\n## Setup Guide\n\n### Prerequisites\n\n- Java 17 or higher\n- Maven 3.9.9 or higher\n- PostgreSQL database\n\n### Steps\n\n1. **Clone the repository**:\n    ```sh\n    git clone https://github.com/sameerasw/ticket-in-server.git\n    cd ticket-in-server\n    ```\n\n2. **Set up the database**:\n    - Recommended to use NeonPostgre SQL database for a similar integration.\n    - Create a PostgreSQL database named `ticketin`.\n    - Update the database connection details in the `.env` file.\n\n3. **Configure environment variables**:\n    - Create a `.env` file in the root directory with the following content:\n        ```dotenv\n        SPRING_DATASOURCE_URL=jdbc:postgresql://[database-name].aws.neon.tech/ticketin?sslmode=require\n        SPRING_DATASOURCE_USERNAME=\u003cyour-database-username\u003e\n        SPRING_DATASOURCE_PASSWORD=\u003cyour-database-password\u003e\n        SERVER_PORT=1245\n        SERVER_ADDRESS=0.0.0.0\n        DATABSE_ACTION=update\n        ```\n\n4. **Build and run the application**:\n    ```sh\n    mvn clean install\n    mvn spring-boot:run\n    ```\n\n## Environment Setup\n\n### Environment Variables\n\n- **SPRING_DATASOURCE_URL**: JDBC URL for the PostgreSQL database.\n- **SPRING_DATASOURCE_USERNAME**: Username for the PostgreSQL database.\n- **SPRING_DATASOURCE_PASSWORD**: Password for the PostgreSQL database.\n- **SERVER_PORT**: Port on which the server will run.\n- **SERVER_ADDRESS**: Address on which the server will run.\n- **DATABSE_ACTION**: Action to be performed on the database (e.g., `update`).\n\n### Example `.env` File\n\n```dotenv\nSPRING_DATASOURCE_URL=jdbc:postgresql://aa-bbbbb-ccc-sdafsdafs.ap-southeast-1.aws.neon.tech/ticketin?sslmode=require\nSPRING_DATASOURCE_USERNAME=ticketin_owner\nSPRING_DATASOURCE_PASSWORD=samplepass\nSERVER_PORT=1245\nSERVER_ADDRESS=0.0.0.0\nDATABSE_ACTION=update\n```\n\n## Additional Details\n\n- **Logging**: The application logs are configured to be stored in the `./logs` directory. The logging configuration can be found in the `application.properties` file.\n- **Concurrency Handling**: The application uses `ReentrantLock` to handle concurrent ticket purchases and releases.\n- **Simulations**: The application includes simulation classes (`VendorSimulation` and `CustomerSimulation`) to simulate vendor and customer activities.\n\nFor further details, please refer to the source code and the provided documentation.\n\n---\nThis project was developed by [@sameerasw](https://github.com/sameerasw) as part of my coursework at University of\nWestminster, OOP module. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsameerasw%2Fticket-in-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsameerasw%2Fticket-in-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsameerasw%2Fticket-in-server/lists"}