TrackLab is a project tracking platform designed for Idea Lab. It allows users to create, manage, and submit projects with OAuth2 authentication, project completion tracking, PDF generation, and email notifications.
- Google OAuth2 Authentication
- Project Creation & Management
- Admin Panel for Project Oversight
- File Upload Support
- PDF Generation Based on Project Status
- Automated Email Notifications
- Material UI & Framer Motion for Enhanced UI
- PostgreSQL with Prisma ORM
- Next.js (App Router) for a Modern Development Experience
git clone https://github.com/vaaditya320/TrackLab.git
cd TrackLabInside the project root, create a .env file and add your credentials:
# Environment Variables (.env.example)
## Database
DATABASE_URL=postgres://<username>:<password>@<host>:<port>/<database>?sslmode=require
## App Configuration
BASE_URL=http://localhost:3000
NODE_ENV=development
## Authentication (NextAuth)
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=<your_nextauth_secret>
## Google OAuth
GOOGLE_CLIENT_ID=<your_google_client_id>
GOOGLE_CLIENT_SECRET=<your_google_client_secret>
## Email Configuration
EMAIL_FROM=<your_email@example.com>
GMAIL_APP_PASSWORD=<your_gmail_app_password>
## AWS S3 Configuration
AWS_REGION=ap-south-1
AWS_ACCESS_KEY_ID=<your_aws_access_key_id>
AWS_SECRET_ACCESS_KEY=<your_aws_secret_access_key>
## Brevo (Sendinblue) API
BREVO_API_KEY=<your_brevo_api_key>
## Feature Flags
IS_DOWN=falsenpm installnpm run devThe application will be available at http://localhost:3000.
- Next.js (App Router)
- PostgreSQL with Prisma ORM
- Google OAuth2 Authentication
- Nodemailer for Email Notifications
- pdf-lib for PDF Generation
- AWS S3 (Planned for Storage)
- Material UI & Framer Motion for UI Enhancements
Contributions are welcome. Open an issue or submit a pull request. See CONTRIBUTING.md for setup and guidelines.
This project is licensed under the GNU GPL v3. See LICENSE for the full text.