A full-stack project and issue management platform inspired by Jira, enabling teams to manage projects, issues, comments, users, subscriptions, payments, and real-time chat.
- Spring Boot 3.2.1
- Java 17
- Spring Data JPA
- Spring Security
- JWT Authentication
- MySQL
- Spring Mail
- Razorpay Java SDK (for payments)
- WebSocket (real-time chat)
- Lombok
- React 18
- Redux & Redux Thunk
- React Router
- React Hook Form
- Radix UI
- Tailwind CSS
- Socket.io-client, StompJS, SockJS (real-time features)
- Axios
- Create, update, and list projects
- Invite users to projects via email
- Accept project invitations
- Create, update, and list issues per project
- Assign users to issues
- Add comments to issues
- Signup, login, and JWT-based authentication
- Password reset via email
- Project-based chat rooms
- Real-time messaging using WebSockets
- Add and view comments on issues
- Subscription plans (upgrade/downgrade)
- Payment integration with Razorpay
- Responsive dashboard
- Sidebar and navigation
- Loader and skeleton components
- Modular, reusable UI components
backend/ # Spring Boot API
frontend/ # React client
API documentation.postman_collection.json # Postman API docs
How to setup on your local machine.txt # Quick setup guide
- Node.js (for frontend)
- Java 17+ and Maven (for backend)
- MySQL (database)
-
Configure Database & Credentials:
- Edit
backend/src/main/resources/application.properties:- Set
spring.datasource.usernameandspring.datasource.password - Create a MySQL database named
projectmanagement
- Set
- Set up email (Gmail) and Razorpay API credentials in the same file.
- Edit
-
Run Backend:
- From
backend/, run:./mvnw spring-boot:run - The backend will start on port
5054by default.
- From
-
Install Dependencies:
- From
frontend/, run:npm install
- From
-
Start Development Server:
npm run dev- The frontend will start on port
5173by default.
- The frontend will start on port
- Open the frontend in your browser.
- Sign up for a new account and start managing projects and issues!
- Import
API documentation.postman_collection.jsoninto Postman for a full list of API endpoints and example requests.
- Controllers: Auth, Project, Issue, Comment, Chat, Payment, Subscription, User, etc.
- Services: Business logic for all modules
- Repositories: JPA repositories for all entities
- Models: User, Project, Issue, Comment, Subscription, etc.
- Pages: Auth (login/signup), Home, Project, Issue, Subscription, etc.
- Components: Project/Issue/Comment forms and cards, ChatBox, Navbar, Sidebar, Loader, etc.
- Redux: State management for all major modules
- Database: Change DB name/credentials in
application.properties - Email: Use your Gmail and app password for email features
- Payments: Use your Razorpay API key/secret for payment features
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
MIT (or your preferred license)