Skip to content

DevTrack πŸš€ - A modern, comprehensive project management and development tracking application built with Next.js, designed specifically for developers and development teams.

Notifications You must be signed in to change notification settings

md-zeon/devtrack

Repository files navigation

DevTrack πŸš€

A modern, comprehensive project management and development tracking application built with Next.js, designed specifically for developers and development teams.

Live Link

DevTrack

DevTrack Banner

✨ Features

πŸ” Authentication & Security

  • Multi-Provider Authentication: Google, GitHub, and email/password login
  • Secure Session Management: JWT-based authentication with NextAuth.js
  • Protected Routes: Dashboard and API routes secured with authentication middleware
  • User Profile Management: Comprehensive profile system with real-time updates

πŸ“Š Project Management

  • Full CRUD Operations: Create, read, update, and delete projects
  • Project Status Tracking: Planning, Active, On-Hold, Completed statuses
  • Priority Management: Low, Medium, High, Urgent priority levels
  • Date Management: Start dates, end dates, and deadline tracking
  • Progress Monitoring: Visual progress bars and completion tracking

βœ… Task Management

  • Advanced Task System: Create, assign, and track tasks across projects
  • Status Workflow: Todo β†’ In Progress β†’ Review β†’ Completed
  • Task Completion: One-click toggle with optimistic updates
  • Due Date Tracking: Set and monitor task deadlines
  • Project Association: Link tasks to specific projects

πŸ“… Smart Calendar

  • Real-Time Event Generation: Automatically creates events from project deadlines and task due dates
  • Event Types: Project deadlines, task deadlines, project starts, overdue items
  • Today's Schedule: Quick view of today's important items
  • Upcoming Events: 7-day preview of approaching deadlines
  • Visual Indicators: Color-coded event types with priority indicators

πŸ‘€ User Dashboard

  • Overview Page: Real-time statistics and recent activity
  • Profile Management: Editable user profiles with live statistics
  • Recent Activity: Track completed projects and tasks
  • Performance Metrics: Success rates, time tracking, completion statistics

🎨 Modern UI/UX

  • Responsive Design: Works perfectly on desktop, tablet, and mobile
  • Dark Mode Support: Beautiful light and dark themes
  • Loading States: Smooth loading indicators and skeleton screens
  • Optimistic Updates: Instant UI feedback for better user experience
  • Toast Notifications: User-friendly success and error messages

πŸ”§ Technical Features

  • Real-Time Data: TanStack Query for efficient data fetching and caching
  • Optimistic Updates: Immediate UI responses with server synchronization
  • Error Handling: Comprehensive error boundaries and fallbacks
  • Form Validation: Client-side and server-side validation
  • Search & Filtering: Advanced filtering options for projects and tasks

πŸ› οΈ Tech Stack

Frontend

Backend

  • API: Next.js API Routes (serverless functions)
  • Database: MongoDB with MongoDB Atlas
  • Authentication: NextAuth.js with MongoDB adapter
  • Session Management: JWT tokens with secure HTTP-only cookies

Development & Deployment

  • Development Server: Next.js with Turbopack
  • Linting: ESLint with Next.js configuration
  • Package Manager: npm
  • Environment: Node.js 18+

πŸš€ Getting Started

Prerequisites

  • Node.js 18.0 or later
  • npm 8.0 or later
  • MongoDB database (local or MongoDB Atlas)

Installation

  1. Clone the repository

    git clone https://github.com/md-zeon/devtrack.git
    cd devtrack
  2. Install dependencies

    npm install
  3. Set up environment variables

    Create a .env.local file in the root directory:

    # Database
    MONGODB_URI=your_mongodb_connection_string
    DB_NAME=devTrackDB
    
    # NextAuth Configuration
    NEXTAUTH_SECRET=your-super-secret-jwt-secret-key
    NEXTAUTH_URL=http://localhost:3000
    
    # OAuth Providers (Optional)
    GOOGLE_CLIENT_ID=your_google_client_id
    GOOGLE_CLIENT_SECRET=your_google_client_secret
    GITHUB_ID=your_github_client_id
    GITHUB_SECRET=your_github_client_secret
  4. Start the development server

    npm run dev
  5. Open your browser

    Navigate to http://localhost:3000

Build for Production

npm run build
npm start

πŸ“ Project Structure

devtrack/
β”œβ”€β”€ public/                 # Static assets
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/               # Next.js App Router pages
β”‚   β”‚   β”œβ”€β”€ api/           # API routes
β”‚   β”‚   β”‚   β”œβ”€β”€ auth/      # Authentication endpoints
β”‚   β”‚   β”‚   β”œβ”€β”€ projects/  # Project CRUD operations
β”‚   β”‚   β”‚   β”œβ”€β”€ tasks/     # Task CRUD operations
β”‚   β”‚   β”‚   └── user/      # User profile endpoints
β”‚   β”‚   β”œβ”€β”€ dashboard/     # Protected dashboard pages
β”‚   β”‚   β”‚   β”œβ”€β”€ projects/  # Project management
β”‚   β”‚   β”‚   β”œβ”€β”€ tasks/     # Task management
β”‚   β”‚   β”‚   β”œβ”€β”€ calendar/  # Calendar view
β”‚   β”‚   β”‚   β”œβ”€β”€ analytics/ # Analytics (coming soon)
β”‚   β”‚   β”‚   └── profile/   # User profile
β”‚   β”‚   β”œβ”€β”€ login/         # Authentication pages
β”‚   β”‚   β”œβ”€β”€ signup/        
β”‚   β”‚   └── layout.js      # Root layout with providers
β”‚   β”œβ”€β”€ components/        # Reusable components
β”‚   β”‚   β”œβ”€β”€ ui/            # shadcn/ui components
β”‚   β”‚   β”œβ”€β”€ dashboard/     # Dashboard-specific components
β”‚   β”‚   └── modals/        # Modal components
β”‚   β”œβ”€β”€ hooks/             # Custom React hooks
β”‚   β”‚   β”œβ”€β”€ useProjects.js # Project data management
β”‚   β”‚   β”œβ”€β”€ useTasks.js    # Task data management
β”‚   β”‚   └── useProfile.js  # User profile management
β”‚   β”œβ”€β”€ lib/               # Utility libraries
β”‚   β”‚   β”œβ”€β”€ auth.js        # NextAuth configuration
β”‚   β”‚   β”œβ”€β”€ utils.js       # Utility functions
β”‚   └── styles/            # Global styles
β”œβ”€β”€ .env.local             # Environment variables
β”œβ”€β”€ components.json        # shadcn/ui configuration
β”œβ”€β”€ tailwind.config.js     # TailwindCSS configuration
β”œβ”€β”€ next.config.js         # Next.js configuration
└── package.json           # Dependencies and scripts

πŸ”§ Available Scripts

npm run dev        # Start development server with Turbopack
npm run build      # Build for production
npm run start      # Start production server
npm run lint       # Run ESLint

🌟 Key Features Walkthrough

1. Authentication Flow

  • Visit the landing page and click "Sign In"
  • Choose from Google, GitHub, or email/password authentication
  • Access the protected dashboard upon successful login

2. Project Management

  • Create new projects with detailed information
  • Set priorities, deadlines, and track progress
  • Edit projects using intuitive modal interfaces
  • Filter and search through your projects

3. Task Management

  • Create tasks and assign them to projects
  • Track task progress through different status stages
  • Toggle task completion with instant feedback
  • Filter tasks by status and visibility preferences

4. Calendar Integration

  • View all project deadlines and task due dates
  • See today's schedule at a glance
  • Track upcoming events for the next week
  • Visual indicators for different event types

5. Profile Management

  • Edit personal information and social links
  • View real-time statistics and achievements
  • Track recent activity and performance metrics

πŸ”œ Upcoming Features (Analytics Page)

The Analytics page is currently under development and will include:

  • πŸ“Š Interactive Charts: Visual representation of productivity data
  • ⏱️ Time Tracking: Detailed time analysis and breakdowns
  • 🎯 Goal Setting: Set and monitor productivity goals
  • πŸ“ˆ Productivity Insights: Advanced analytics and recommendations
  • πŸ“… Reports: Weekly and monthly performance reports
  • πŸ” Custom Filters: Filter analytics by date ranges and projects
  • πŸ“„ Export Functionality: Download reports in various formats

🀝 Contributing

We welcome contributions! Please follow these steps:

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

πŸ“ License

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

πŸ™ Acknowledgments

πŸ“ž Support

If you have any questions or need help, please:

  1. Check the Issues page
  2. Create a new issue with detailed information
  3. Join our community discussions

Made with ❀️ for developers, by developers

DevTrack - Streamline your development workflow and boost productivity

About

DevTrack πŸš€ - A modern, comprehensive project management and development tracking application built with Next.js, designed specifically for developers and development teams.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •