Skip to content

TaskForge is a comprehensive full-stack task management application designed to help individuals and teams organize, track, and complete tasks efficiently

Notifications You must be signed in to change notification settings

hrishabh-16/TaskForge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔧 TaskForge - A Modern Task Management Solution

Spring Boot Angular Java TypeScript

📋 Project Overview

TaskForge is a comprehensive full-stack task management application designed to help individuals and teams organize, track, and complete tasks efficiently. Built with Spring Boot backend and Angular frontend, TaskForge offers a robust and feature-rich solution for personal and professional task management.

✨ Key Features

  • 📝 Comprehensive Task Management

    • Create, organize, and track tasks with ease
    • Set priorities, due dates, and categories
    • Mark progress with customizable status options
  • 👥 Collaborative Features

    • Comment on tasks for better communication
    • Real-time notifications for updates
  • 🔐 Secure Authentication

    • JWT-based authentication system
    • Role-based access control
    • Secure password management
  • 📱 Responsive Design

    • Works seamlessly across desktop and mobile devices
    • Intuitive user interface for better productivity
  • 🔔 Notification System

    • Email notifications for important updates
    • In-app notifications via WebSockets
    • Customizable notification preferences

🏗️ Architecture

TaskForge follows a modern full-stack architecture:

  • Backend: Java 21 with Spring Boot 3.4.5
  • Frontend: Angular 19 with Angular Material
  • Database: MySQL 8+
  • Communication: RESTful APIs and WebSockets for real-time updates

🚀 Getting Started

Prerequisites

  • Java 21+
  • Node.js 18+
  • MySQL 8+
  • Maven 3.6+
  • Git

Quick Start

# Clone the repository
git clone https://github.com/hrishabh-16/TaskForge.git
cd TaskForge

# Start Backend (Spring Boot)
cd todo-backend
mvn spring-boot:run

# Start Frontend (Angular) in a new terminal
cd ../todo-frontend
npm install
ng serve

# Access the application at http://localhost:4200

Docker Setup

# Clone the repository
git clone https://github.com/hrishabh-16/TaskForge.git
cd TaskForge

# Build and run backend
cd todo-backend
docker build -t hrishabh20/todo-backend:latest .
docker run -p 4000:4000 hrishabh20/todo-backend:latest

# Build and run frontend in a new terminal
cd ../todo-frontend
docker build -t hrishabh20/todo-frontend:latest .
docker run -p 4200:80 hrishabh20/todo-frontend:latest

# Access the application at http://localhost:4200

📚 Documentation

For detailed documentation, please visit:

📦 Tech Stack

Backend

  • Spring Boot: Core framework
  • Spring Security: Authentication and authorization
  • Spring Data JPA: Database access
  • JWT: Token-based security
  • MySQL: Database
  • Hibernate: ORM
  • Maven: Dependency management

Frontend

  • Angular: Core framework
  • Angular Material: UI components
  • RxJS: Reactive programming
  • TailwindCSS: Styling
  • SockJS/STOMP: WebSocket communication
  • NgX-Toastr: Notifications
  • Angular Calendar: Calendar functionality

🛠️ Development

Project Structure

TaskForge/
├── todo-backend/      # Spring Boot Backend
├── todo-frontend/     # Angular Frontend
└── README.md          # This file

Backend Structure

The backend follows a layered architecture with controllers, services, repositories, and entities. For detailed structure, refer to the Backend README.

Frontend Structure

The frontend follows Angular best practices with core/feature/shared module organization. For detailed structure, refer to the Frontend README.

👥 Contributing

We welcome contributions to TaskForge! Please follow these steps:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

👏 Acknowledgements

📞 Contact

Project Link: https://github.com/hrishabh-16/TaskForge


Made with ❤️ by Hrishabh

About

TaskForge is a comprehensive full-stack task management application designed to help individuals and teams organize, track, and complete tasks efficiently

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published