GDC Interview Assignment - Full Stack Web Application
A modern, feature-rich productivity and habit tracking application built with Next.js 15, showcasing advanced full-stack development skills including authentication, real-time data management, and responsive design.
Trackit is a comprehensive productivity platform that combines habit tracking, Pomodoro timer functionality, and user progress analytics. The application demonstrates proficiency in modern web development technologies and best practices.
- 🔐 Authentication System: Google OAuth integration with NextAuth.js
- 📅 Habit Tracking: Create, manage, and track daily habits with XP rewards
- ⏱️ Pomodoro Timer: Focus sessions with customizable timer and break intervals
- 📊 Analytics Dashboard: Visual progress tracking with charts and statistics
- 🎨 Modern UI/UX: Responsive design with dark/light theme support
- Next.js 15 - React framework with App Router
- React 19 - Latest React with concurrent features
- TypeScript - Type-safe development
- Tailwind CSS 4 - Utility-first CSS framework
- Shadcn/ui - Modern component library
- Framer Motion - Smooth animations
- Lucide React - Beautiful icons
- Recharts - Data visualization
- Next.js API Routes - Serverless backend
- MongoDB - NoSQL database
- Mongoose - MongoDB object modeling
- NextAuth.js 5 - Authentication solution
- ESLint - Code linting
- Zustand - State management
- Node.js 18+
- MongoDB database (local or cloud)
- Google OAuth credentials
-
Clone the repository
git clone https://github.com/Frank2006x/Trackit.git cd Trackit -
Install dependencies
npm install
-
Environment Setup Create a
.env.localfile in the root directory:# Database MONGODB_URI=your_mongodb_connection_string # NextAuth Configuration NEXTAUTH_URL=http://localhost:3000 NEXTAUTH_SECRET=your_nextauth_secret # Google OAuth AUTH_GOOGLE_ID=your_google_client_id AUTH_GOOGLE_SECRET=your_google_client_secret
-
Run the development server
npm run dev
-
Open the application Navigate to http://localhost:3000
src/
├── app/ # Next.js App Router
│ ├── api/ # API routes
│ │ ├── auth/ # Authentication endpoints
│ │ └── habits/ # Habit management APIs
│ ├── home/ # Dashboard page
│ └── layout.tsx # Root layout
├── components/ # Reusable components
│ ├── ui/ # Shadcn UI components
│ └── magicui/ # Custom animated components
├── lib/ # Utility libraries
├── models/ # Database schemas
└── store/ # Zustand state management
- Create custom habits with categories
- Mark habits as complete/incomplete
- Earn XP points for consistency
- Track streaks and completion rates
- 25-minute focus sessions
- 5-minute break intervals
- XP rewards for completed sessions
- Integration with habit tracking
- Personal statistics and progress
- Visual charts and analytics
- Profile management
- Theme customization
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/habits |
Fetch user habits |
POST |
/api/habits |
Create new habit |
PUT |
/api/habits/[id] |
Update habit |
DELETE |
/api/habits/[id] |
Delete habit |
POST |
/api/habits/complete/[id] |
Mark habit as complete |
POST |
/api/auth/[...nextauth] |
Authentication handlers |
- Aurora Background: Animated gradient backgrounds
- Responsive Design: Mobile-first approach
- Dark/Light Mode: System preference detection
- Micro-interactions: Smooth hover and click animations
- Loading States: Skeleton loaders and spinners
- Turbopack: Next.js 15 bundler for faster builds
- Server Components: Optimized rendering strategy
- Image Optimization: Next.js built-in optimization
- Code Splitting: Automatic route-based splitting
- Database Indexing: Optimized MongoDB queries
- Connect your GitHub repository to Vercel
- Configure environment variables
- Deploy with automatic builds
npm run build
npm startCreated by: Frank2006x
Purpose: GDC Interview Technical Assignment
Timeline: Developed as a showcase of full-stack development capabilities
Focus Areas: Modern React patterns, database design, authentication, and user experience
This project is created for interview purposes and educational use.
Note: This application demonstrates proficiency in modern web development technologies and is designed to showcase full-stack development capabilities including authentication, database management, API design, and modern frontend practices.