A modern, comprehensive project management and development tracking application built with Next.js, designed specifically for developers and development teams.
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Framework: Next.js 15 with App Router
- Language: JavaScript (ES6+)
- Styling: TailwindCSS 4 with custom design system
- UI Components: shadcn/ui + Radix UI
- Icons: React Icons (Feather Icons)
- State Management: TanStack Query for server state
- Forms: HTML5 with custom validation
- 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 Server: Next.js with Turbopack
- Linting: ESLint with Next.js configuration
- Package Manager: npm
- Environment: Node.js 18+
- Node.js 18.0 or later
- npm 8.0 or later
- MongoDB database (local or MongoDB Atlas)
-
Clone the repository
git clone https://github.com/md-zeon/devtrack.git cd devtrack -
Install dependencies
npm install
-
Set up environment variables
Create a
.env.localfile 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
-
Start the development server
npm run dev
-
Open your browser
Navigate to http://localhost:3000
npm run build
npm startdevtrack/
βββ 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
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- Visit the landing page and click "Sign In"
- Choose from Google, GitHub, or email/password authentication
- Access the protected dashboard upon successful login
- Create new projects with detailed information
- Set priorities, deadlines, and track progress
- Edit projects using intuitive modal interfaces
- Filter and search through your projects
- 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
- 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
- Edit personal information and social links
- View real-time statistics and achievements
- Track recent activity and performance metrics
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
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Next.js - The React framework for production
- TailwindCSS - Utility-first CSS framework
- shadcn/ui - Beautiful and accessible UI components
- NextAuth.js - Complete authentication solution
- TanStack Query - Powerful data synchronization
- MongoDB - Modern database for modern applications
If you have any questions or need help, please:
- Check the Issues page
- Create a new issue with detailed information
- Join our community discussions
Made with β€οΈ for developers, by developers
DevTrack - Streamline your development workflow and boost productivity
