Published on

JIKI – A JIRA-like Project Management Application

Authors

🚀 JIKI – JIRA-Like Project Management Tool

JIKI is an ongoing JIRA-like project management application developed with the primary goal of learning and mastering modern frontend and backend concepts.

This project is built as a full-stack application, with an Angular frontend and a Spring Boot REST API backend.
While fully functional, JIKI is continuously evolving and will be upgraded over time to integrate newer technologies and best practices.


🎯 Project Goals

  • Learn and apply real-world Angular concepts
  • Build a secure and scalable Spring Boot backend
  • Implement JWT authentication
  • Design features inspired by JIRA workflows (boards, sprints, backlogs)
  • Practice clean architecture, testing, and best practices

🖥️ Frontend – Angular Application

The frontend is developed using Angular 16.x and focuses on mastering Angular’s ecosystem and architecture.

🔧 Angular Concepts Covered

  • TypeScript with classes and modules
  • Angular Material 16.x
  • Routing:
    • Standard routes
    • Child routes
    • Lazy-loaded modules
  • Unit testing with Jasmine & Karma
  • Custom:
    • Components (Input / Output)
    • Directives
    • Pipes
  • Component & Directive communication:
    • Properties
    • Events
  • HTTP communication:
    • HttpClient
    • RxJS Observables
    • HTTP Interceptors
  • Local services and utilities
  • StorageService for client-side persistence
  • Angular data binding
  • Forms:
    • Template-driven forms
    • Reactive forms
    • Validation handling

🔐 Authentication (Frontend)

  • JWT-based authentication
  • HTTP Interceptor for token handling
  • Local storage:
    • JWT token
    • User information

🛠️ Frontend Features

✅ Core Features

  • Authentication
  • CRUD operations
  • Sprint creation
  • Role-based access (Admin / User)

📋 Board (Current Sprint)

  • Display stories assigned to the current sprint
  • Filter stories by:
    • Reporter
    • Assignee
  • Move stories:
    • From status to status (drag & drop style logic)
    • From backlog to sprint using right-click actions

📦 Backlog

  • View all backlogs
  • Search stories
  • Filter by:
    • Reporter
    • Assignee
    • Status
  • Move stories:
    • Between backlogs
    • From backlog to sprint (right-click)

🏃 Sprints

  • View sprints
  • Search stories
  • Filter by:
    • Reporter
    • Assignee
    • Status

🧑‍💼 Administration

  • Manage:
    • Users
    • Teams
    • Projects
  • Full CRUD operations

🎥 Application Demos

  • 📹 Admin page demo
  • 📹 User management page demo

⚙️ Backend – Spring Boot REST API

The backend is developed using Spring Boot 2.5.6 and serves as a secure REST API for the Angular frontend.

🔧 Backend Technologies & Concepts

  • Java 21
  • Spring Boot 2.5.6
  • Spring Security
  • Spring Data JPA
  • JWT Authentication
  • Hazelcast 4.1.5 for caching
  • Lombok 1.18.22
  • Jasypt for encrypting sensitive data
  • Global exception handling with @ControllerAdvice
  • Logging with Log4j2
  • Unit testing:
    • JUnit 5
    • Mockito

🗄️ Database

  • MySQL
  • Managed locally via XAMPP 3.3.0

🔐 Backend Authentication & Services

  • JWT-based authentication
  • Secure access to REST endpoints
  • Role-based authorization
  • Structured service layer to manage API access

📌 Project Status & Future Plans

JIKI is an active learning project and will continue to evolve:

  • Angular upgrades (newer versions & features)
  • Improved UI/UX
  • Performance optimizations
  • Additional JIRA-like features
  • Enhanced test coverage

🧠 Conclusion

JIKI is both a learning playground and a realistic project management tool, designed to simulate real-world application development using modern Angular and Spring Boot practices.

This project reflects my approach to:

  • Clean architecture
  • Scalable design
  • Continuous learning