{"id":25820527,"url":"https://github.com/wiktorg3/helpdeskspringboot","last_synced_at":"2026-04-26T20:31:57.574Z","repository":{"id":264477384,"uuid":"893482223","full_name":"WiktorG3/helpdeskSpringBoot","owner":"WiktorG3","description":"A spring Boot + Thymeleaf web application to manage IT Helpdesk tickets.","archived":false,"fork":false,"pushed_at":"2024-12-26T00:41:37.000Z","size":97,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-30T18:08:19.442Z","etag":null,"topics":["postgresql","spring-boot","thymeleaf"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WiktorG3.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-11-24T15:06:14.000Z","updated_at":"2025-02-14T01:17:50.000Z","dependencies_parsed_at":"2024-12-09T22:28:45.888Z","dependency_job_id":"7a2ed579-239d-4e57-b0a9-ee0f4c71034d","html_url":"https://github.com/WiktorG3/helpdeskSpringBoot","commit_stats":null,"previous_names":["wiktorg3/helpdeskspringboot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/WiktorG3/helpdeskSpringBoot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WiktorG3%2FhelpdeskSpringBoot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WiktorG3%2FhelpdeskSpringBoot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WiktorG3%2FhelpdeskSpringBoot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WiktorG3%2FhelpdeskSpringBoot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WiktorG3","download_url":"https://codeload.github.com/WiktorG3/helpdeskSpringBoot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WiktorG3%2FhelpdeskSpringBoot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32312235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T19:15:34.056Z","status":"ssl_error","status_checked_at":"2026-04-26T19:15:15.467Z","response_time":129,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["postgresql","spring-boot","thymeleaf"],"created_at":"2025-02-28T09:55:29.371Z","updated_at":"2026-04-26T20:31:57.556Z","avatar_url":"https://github.com/WiktorG3.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# **Helpdesk Web App**\n\nA spring Boot + Thymeleaf web application to manage IT Helpdesk tickets.\n\n\n## **Overview**\nRegistered users can add and manage events (issues) they have reported or view other users' reports and their statuses. Admins can resolve, edit and print events and users to PDFs.\n## **Features**\n\n**1. User Authentication**\n- Users register with an email, username, name, surname, password and are assigned a basic “user” role.\n- Passwords are encrypted\n- Login/logout managed by Spring Security.\n**2. Users Features**\n- **Add Tickets:** Category, title, description, emergency status, detection date, downtime (in hours).\n- **View Tickets:** Filter and sort the existing tickets or your own tickets.\n- **Edit Tickets:** Users can edit only their own events.\n- **Delete Tickets:** Users can delete only their own events.\n**3. Admin Features**\n- **Resolve Tickets:** They can change ticket status (Open, In Progress, Resolved, Closed, Reopened) with comment.\n- **Edit Users:** Change user details including password and roles.\n- **Print PDF:** Admin can generate PDF files of users and events (with date ranges for events and user roles). Useful for reporting and auditing.\n## Tech Stack\n\n* **Language:** Java 23\n* **Framework:** Spring Boot (v3.4.0)\n* **Templates:** Thymeleaf\n* **Security:** Spring Security\n* **Data:** PostgreSQL\n* **Build Tool:** Maven\n## Installation\n**1. Clone the Repo**\n* git clone https://github.com/WiktorG3/helpdeskSpringBoot\n* cd helpdesk-dashboard\n**2. Configure Database**\n* Install or run a PostgreSQL instance.\n* Create a database, e.g. helpdeskdb\n* Update spring.datasource.url, username, password in application.properties.\n**3. Build \u0026 Run**\\\nIf using Maven:\n* mvn clean install\n* mvn spring-boot:run\nIf using Gradle:\n* ./gradlew bootRun\n**4. Access the App**\n* Navigate to http://localhost:8080.\n* Register a new user or log in with an existing account. For admin actions, create an account and change its role manually in the database.\n\n\n## **Usage/Examples**\n**1. Register/Login**\n* http://localhost:8080/register\n* http://localhost:8080/login\n**2. Dashboard**\n* Displays counts of emergency events, statuses, etc.\n**3. Navbar**\n* Add a new event or view events, users.\n**4. Admin Panel**\n* Resolve Events: Update status and add comment for users to see.\n* Edit Users: Change their roles and data.\n* Print Results: Generate PDFs of users or events.\n**5. Logout**\n* Ends the current session\n\n\n## **Endpoints**\n| **Endpoint**  | **Method** | **Description** |\n| ------------- | ------------- | ------------- |\n| /register  | GET  | Register Page  |\n| /register  | POST  | Register new user  |\n| /login  | GET  | Login Page  |\n| /dashboard  | GET  | Main page with stats  |\n| /addEvent  | GET  | Add ticket Form Page  |\n| /addEvent  | POST  | Add new ticket  |\n| /viewEvents  | GET  | Load View Events Page  |\n| /viewComment/{eventId}  | GET  | Modal Data Load  |\n| /userEvents | GET  | Load Logged User Events Page  |\n| /userEvents/{id}  | POST  | User updates event  |\n| /userEvents/{id}  | DELETE  | User deletes event  |\n| /editEvent/{id}  | GET  | Modal Edit Event Load  |\n| /editEvent/{id}  | POST  | Modal Edit Event Update  |\n| /viewUsers  | GET  | Load View Users Page  |\n| /editUsers  | GET  | Load Edit Users Page  |\n| /editUsers  | POST  | Admin updates user data  |\n| /resolveEvents  | GET  | Load Resolve Page  |\n| /resolveEvents/{id}  | POST  | Admin updates event status and comment  |\n| /printResults  | GET  | Load Print Page  |\n| /printResults  | GET  | Admin PDF of users filtered by role |\n| /printResults  | GET  | Admin PDF of events by date range  |\n\n## **Running Tests**\n\n**With Maven:**\\\nmvn test\n\n**With Gradle:**\\\n./gradlew test\n## **License**\n\nMIT License\n\n**Copyright (c) 2024 Wiktor Gronostaj**\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n## **Author**\n\nWiktor Gronostaj [@WiktorG3](https://github.com/WiktorG3)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwiktorg3%2Fhelpdeskspringboot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwiktorg3%2Fhelpdeskspringboot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwiktorg3%2Fhelpdeskspringboot/lists"}