BugStalker is a bug tracking system, that addresses the problem of ticket management in software development teams. It is a system that supports the implementation phase of the software development life cycle by streamlining the methods of presenting the status of issues. BugStalker allows you to manage a large number of tickets. The system was implemented as a web application in a client-server architecture.
BugStalker consists of three, separate projects:
- bs-business backend
- bs-web-client frontend
- bs-api-specification API specification and generation tool
Table of Contents
Backend is responsible for providing main business logic and persisting data to database. It was created using Spring Boot framework and Java 17. Backend communicates with frontend app using Rest API. Endpoint definitions (interfaces for Spring controllers) and DTOs are generated by bs-api-specification project.
- Lombok
- JUnit 5, AssertJ, Rest Assured, Mockito
- MapStruct
- QueryDsl
- JWT authorization
- N+1 problem
- Optimistic locking
- AOP
- Security (password encryption, user context, endpoint authorization)
- Deployment on AWS platform
- QueryDsl + Spring Data JPA
UML diagrams are outdated. See corresponding domains for current state.
To develop a business application, you must first build an API project, which serves as an essential dependency for the backend.
The API project contain models and endpoints crucial for the application. Additionally, it automatically generates code for both backend and frontend.
- Java 17+
- Maven
- Clone the repo
git clone https://github.com/Kaliszando/bs-business.git
- Build API project
- Build bs-business project
mvn clean install
- Run database and cache (use
postgres
andredis
services defined indocker-compose.yml
) - Run
BsBusinessApplication
withdev-local
andswagger
profiles or execute jar file.java -jar target/bs-business-X.X.X-SNAPSHOT.jar --spring.profiles.active=dev-local,swagger
- Open Swagger UI
- Build docker image based on
Dockerfile
Alternativelly you can use buildpack for building imagedocker build -t bugstalker:1.0.0-SNAPSHOT .
mvn spring-boot:build-image
- Run image
docker run -p 8080:8080 -e "SPRING_PROFILES_ACTIVE=dev-local,swagger" --name bugstalker_terminal bs-business:1.0.0-SNAPSHOT
See the open issues for a full list of proposed features and known issues.
- Multiple projects context
- Backlog view
- Kanban board
- List view (paging, query, filtering by fields)
- Summary screen (charts)
- Permissions
- Admin view
- Community issues
Adam Kalisz kaliszadam99+dev@gmail.com
LinkedIn @adam-kalisz
Other links linktr.ee/kaliszando