Skip to content

Alpha4Coders/DevTrack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

41 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ DevTrack

Track your developer journey. Prove your consistency. Connect learning to real work.

DevTrack is a full-stack application that helps developers track their learning progress, document their projects, and build a provable record of consistent growth with AI-powered insights.

Live Demo


🎯 What DevTrack Solves

Problem Solution
Scattered Learning Centralized tracking of courses, tutorials, and skills
Invisible Progress Visual proof of consistent daily/weekly activity
Disconnected Skills Links what you learn β†’ what you build
No Portfolio Proof AI-analyzed project progress reports
Forgetting Tasks Calendar-based task management with push notifications

✨ Core Features

πŸ“š Learning Tracker

  • Log daily learning sessions with start/end times
  • Track what you learned each day
  • Tag skills and technologies
  • Mood tracking for productivity insights
  • Edit and delete log entries

πŸ› οΈ Project Tracker

  • Document projects with GitHub repository links
  • AI-powered project analysis using Groq (Llama 3.3)
  • Automatic language detection from repos
  • Progress tracking based on actual code, not just commits
  • Support for private repositories via OAuth

πŸ“… Calendar & Tasks

  • Interactive calendar view for task management
  • Create, edit, and delete tasks with due dates
  • Priority levels (Low, Medium, High)
  • Task completion tracking
  • Visual indicators for task density per day

πŸ”” Push Notifications (FCM)

  • Firebase Cloud Messaging integration
  • Daily consistency reminders
  • Task due date notifications
  • Adaptive or fixed-time reminder modes
  • Works on desktop and mobile browsers

πŸ“Š Dashboard

  • Animated pill-shaped navbar with Framer Motion
  • Quick stats overview (streaks, commits, skills)
  • Weekly activity chart with gradient bars
  • 30-day streak grid visualization
  • Recent activity timeline

πŸ€– AI Chat Assistant

  • Context-aware coding help
  • Access to your project and learning data
  • Powered by Groq API with Gemini fallback
  • Code review and suggestions

πŸ™ GitHub Integration

  • Private repo access via user OAuth tokens
  • Fetch commits, PRs, issues, and languages
  • Analyze repository structure and key files
  • Commit pattern analysis (features/fixes/docs/tests)
  • Auto-extract technologies from package.json, etc.

βš™οΈ Settings & Preferences

  • Notification preferences (adaptive/fixed time)
  • Work pattern configuration
  • Break detection settings
  • Goal tracking

πŸ—οΈ Tech Stack

Layer Technology
Frontend React 18, Vite, React Router, Framer Motion, GSAP
Backend Node.js, Express.js
Database Firebase Firestore
Authentication Clerk (GitHub OAuth)
AI Groq API (Llama 3.3), Google Gemini (fallback)
GitHub API Octokit
Notifications Firebase Cloud Messaging (FCM)
Styling Tailwind CSS
Deployment Render (Static Site + Web Service)

πŸ“ Project Structure

DevTrack/
β”œβ”€β”€ client/                     # React Frontend (Vite)
β”‚   β”œβ”€β”€ public/
β”‚   β”‚   └── firebase-messaging-sw.js  # FCM Service Worker
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/         # Reusable UI components
β”‚   β”‚   β”‚   β”œβ”€β”€ ui/             # Button, Card, Badge, etc.
β”‚   β”‚   β”‚   β”œβ”€β”€ layout/         # AppLayout, Navbar
β”‚   β”‚   β”‚   β”œβ”€β”€ settings/       # NotificationSettings
β”‚   β”‚   β”‚   └── dashboard/      # Dashboard widgets
β”‚   β”‚   β”œβ”€β”€ pages/              # Page components
β”‚   β”‚   β”‚   β”œβ”€β”€ Dashboard.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ Learning.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ Projects.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ Chat.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ Onboarding.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ SystemInfo.jsx
β”‚   β”‚   β”‚   └── Landing.jsx
β”‚   β”‚   β”œβ”€β”€ hooks/              # Custom hooks (useNotifications)
β”‚   β”‚   β”œβ”€β”€ config/             # Firebase client config
β”‚   β”‚   β”œβ”€β”€ services/           # API service (Axios)
β”‚   β”‚   β”œβ”€β”€ App.jsx
β”‚   β”‚   └── main.jsx
β”‚   └── package.json
β”‚
β”œβ”€β”€ server/                     # Node.js Backend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ config/             # Firebase Admin SDK
β”‚   β”‚   β”œβ”€β”€ controllers/        # Route controllers
β”‚   β”‚   β”œβ”€β”€ services/           # Business logic (notificationService)
β”‚   β”‚   β”œβ”€β”€ routes/             # Express routes
β”‚   β”‚   β”œβ”€β”€ middleware/         # Auth, validation, errors
β”‚   β”‚   └── app.js
β”‚   └── package.json
β”‚
β”œβ”€β”€ .gitignore
└── README.md

πŸš€ Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • npm or yarn
  • Firebase project with Firestore + Cloud Messaging
  • Clerk account with GitHub OAuth enabled
  • Groq API key (and optionally Gemini API key)

Installation

# Clone the repository
git clone https://github.com/Vortex-16/DevTrack.git
cd DevTrack

# Install server dependencies
cd server
npm install

# Install client dependencies
cd ../client
npm install

Environment Setup

Server .env:

PORT=5000
NODE_ENV=development
CORS_ORIGIN=http://localhost:5173

# Firebase Admin SDK
FIREBASE_PROJECT_ID=your-project-id
FIREBASE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n"
FIREBASE_CLIENT_EMAIL=firebase-adminsdk-xxx@your-project.iam.gserviceaccount.com

# Clerk Authentication
CLERK_PUBLISHABLE_KEY=pk_test_xxxxx
CLERK_SECRET_KEY=sk_test_xxxxx

# GitHub API (PAT for public repos fallback)
GITHUB_PAT=ghp_xxxxxxxxxxxx

# AI - Groq & Gemini
GROQ_API_KEY=gsk_xxxxxxxxxxxx
GEMINI_API_KEY=AIzaxxxxx

Client .env:

VITE_API_URL=http://localhost:5000/api
VITE_CLERK_PUBLISHABLE_KEY=pk_test_xxxxx

# Firebase Client SDK (for FCM)
VITE_FIREBASE_API_KEY=AIzaxxxxx
VITE_FIREBASE_AUTH_DOMAIN=your-project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your-project-id
VITE_FIREBASE_STORAGE_BUCKET=your-project.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=123456789
VITE_FIREBASE_APP_ID=1:123456789:web:xxxxx
VITE_FIREBASE_VAPID_KEY=BLxxxxxx  # From Firebase Console > Cloud Messaging

Running the Application

# Start the backend server (from server directory)
npm run dev

# Start the frontend (from client directory)
npm run dev

🌐 Deployment (Render)

Frontend (Static Site)

  1. Create a new Static Site on Render
  2. Connect your GitHub repo, set root directory to client
  3. Build command: npm install && npm run build
  4. Publish directory: dist
  5. Add all VITE_* environment variables

Backend (Web Service)

  1. Create a new Web Service on Render
  2. Connect your GitHub repo, set root directory to server
  3. Build command: npm install
  4. Start command: npm start
  5. Add all server environment variables
  6. Set CORS_ORIGIN to your frontend URL

πŸ—ΊοΈ Roadmap

  • Initial project setup
  • Clerk authentication (GitHub OAuth)
  • Firebase Firestore integration
  • Learning entry CRUD
  • Project tracking CRUD
  • GitHub API integration
  • Private repository support
  • AI-powered project analysis
  • AI Chat assistant
  • Dashboard with stats
  • Beautiful landing page with animations
  • Streak tracking & contribution heatmaps
  • System info documentation page
  • Calendar-based task management
  • Push notifications (FCM)
  • Onboarding flow with preferences
  • Deployed to Render
  • Export/share progress reports
  • Mobile app (PWA enhancements)
  • Team collaboration features

πŸ‘₯ Team

Built by the @Alpha Coders team.

Ayush Chaudhary

Rajbeer Saha

Rajdeep Das

Vikash Gupta


🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.


πŸ“„ License

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


Built with ❀️ to help developers prove their growth