Skip to content

Latest commit

Β 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Task Management System - Frontend

Enterprise-level task management system built with Next.js 14, featuring real-time notifications, role-based authentication, and comprehensive project management capabilities.

πŸš€ Live Demo

Deploy Link: Coming Soon - Will be deployed on Vercel

πŸ› οΈ Technologies Used

Core Technologies

  • Next.js 14 - React framework with App Router
  • TypeScript - Type-safe development
  • React 18 - UI library with latest features
  • Tailwind CSS - Utility-first CSS framework

State Management & Data Fetching

  • Redux Toolkit - State management
  • React Query - Server state management and caching
  • React Hook Form - Form handling with validation
  • Yup - Schema validation

UI/UX Libraries

  • Lucide React - Modern icon library
  • React Hot Toast - Notification system
  • clsx - Conditional CSS classes
  • date-fns - Date manipulation

Real-time & API

  • Microsoft SignalR - Real-time communication
  • Axios - HTTP client
  • js-cookie - Cookie management

Development & Testing

  • Jest - Testing framework
  • React Testing Library - Component testing
  • ESLint - Code linting
  • TypeScript - Static type checking

πŸ—οΈ Architecture & Project Structure

Layered Architecture

src/
β”œβ”€β”€ app/                    # Next.js App Router pages
β”‚   β”œβ”€β”€ auth/              # Authentication pages
β”‚   β”œβ”€β”€ dashboard/         # Dashboard page
β”‚   β”œβ”€β”€ projects/          # Project management pages
β”‚   β”œβ”€β”€ tasks/             # Task management pages
β”‚   β”œβ”€β”€ profile/           # User profile pages
β”‚   └── layout.tsx         # Root layout
β”œβ”€β”€ components/            # Reusable UI components
β”‚   β”œβ”€β”€ auth/              # Authentication components
β”‚   β”œβ”€β”€ common/            # Shared components (Header, Sidebar, etc.)
β”‚   β”œβ”€β”€ projects/          # Project-specific components
β”‚   β”œβ”€β”€ tasks/             # Task-specific components
β”‚   └── ui/                # Base UI components
β”œβ”€β”€ lib/                   # Utility libraries
β”‚   β”œβ”€β”€ api.ts             # API configuration and endpoints
β”‚   β”œβ”€β”€ auth.ts            # Authentication utilities
β”‚   └── utils.ts           # General utilities
β”œβ”€β”€ store/                 # Redux store configuration
β”‚   β”œβ”€β”€ slices/            # Redux slices
β”‚   β”‚   β”œβ”€β”€ authSlice.ts   # Authentication state
β”‚   β”‚   β”œβ”€β”€ tasksSlice.ts  # Tasks state
β”‚   β”‚   β”œβ”€β”€ projectsSlice.ts # Projects state
β”‚   β”‚   └── notificationsSlice.ts # Notifications state
β”‚   └── store.ts           # Store configuration
└── types/                 # TypeScript type definitions
    └── index.ts           # Shared types and interfaces

Component Architecture

  • Pages: Route-level components using Next.js App Router
  • Components: Reusable UI components with TypeScript props
  • Hooks: Custom React hooks for business logic
  • Services: API service layer with error handling
  • Store: Centralized state management with Redux Toolkit

✨ Extra Features

πŸ” Authentication & Authorization

  • JWT Token Management - Secure authentication with refresh tokens
  • Role-based Access Control - Admin, Manager, Developer roles
  • Protected Routes - Route guards based on authentication status
  • Password Security - Bcrypt hashing integration

πŸ”„ Real-time Features

  • SignalR Integration - Real-time notifications and updates
  • Live Task Updates - Instant task status changes
  • Real-time Notifications - Push notifications for task assignments
  • Live Project Updates - Real-time project member activities

πŸ“Š Advanced Task Management

  • Task Logging System - Comprehensive activity tracking
  • Priority Management - Low, Medium, High, Critical priorities
  • Status Tracking - ToDo, InProgress, Done, Cancelled states
  • Due Date Management - Task deadline tracking
  • Assignment System - Multi-user task assignment

πŸ§ͺ Testing & Quality

  • Unit Testing - Jest and React Testing Library
  • Component Testing - Isolated component tests
  • Type Safety - Full TypeScript coverage
  • Code Quality - ESLint configuration

🎨 UI/UX Features

  • Responsive Design - Mobile-first approach
  • Dark/Light Mode - Theme switching capability
  • Toast Notifications - User-friendly feedback system
  • Loading States - Skeleton loaders and spinners
  • Form Validation - Real-time form validation with Yup

πŸ“± Performance Optimizations

  • Code Splitting - Automatic route-based splitting
  • Image Optimization - Next.js Image component
  • Caching Strategy - React Query for server state caching
  • Bundle Optimization - Tree shaking and minification

πŸ›οΈ System Architecture

graph TB
    A[Next.js Frontend] --> B[API Layer]
    B --> C[.NET Backend API]
    C --> D[MongoDB Database]
    
    A --> E[SignalR Hub]
    E --> C
    
    A --> F[Redux Store]
    F --> G[Auth Slice]
    F --> H[Tasks Slice]
    F --> I[Projects Slice]
    F --> J[Notifications Slice]
    
    K[JWT Tokens] --> A
    L[Role-based Auth] --> A
Loading

🚦 Getting Started

Prerequisites

  • Node.js 18+
  • npm or yarn
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/ahmetcdevelopment/task-management-frontend.git
    cd task-management-frontend
  2. Install dependencies

    npm install
  3. Environment Setup

    cp .env.example .env.local
    # Configure your environment variables
  4. Run development server

    npm run dev
  5. Open browser

    http://localhost:3000
    

Available Scripts

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run start - Start production server
  • npm run lint - Run ESLint
  • npm run test - Run tests
  • npm run test:watch - Run tests in watch mode

πŸ”§ Configuration

Environment Variables

NEXT_PUBLIC_API_URL=http://localhost:5000/api
NEXT_PUBLIC_SIGNALR_URL=http://localhost:5000/taskHub

API Integration

The frontend integrates with a .NET 8 Web API backend featuring:

  • RESTful API endpoints
  • JWT authentication
  • SignalR real-time communication
  • MongoDB data persistence

🀝 Contributing

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

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘¨β€πŸ’» Author

Ahmet C Development


⭐ Star this repository if you find it helpful!

About

Enterprise Task Management System - Frontend (Next.js)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages