Skip to content

vaaditya320/Track-Lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

135 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

TrackLab

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.

Features

  • 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

Installation and setup

1. Clone the repository

git clone https://github.com/vaaditya320/TrackLab.git
cd TrackLab

2. Create an environment file

Inside 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=false

3. Install dependencies

npm install

4. Start the development server

npm run dev

The application will be available at http://localhost:3000.

Tech stack

  • 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

Contributing

Contributions are welcome. Open an issue or submit a pull request. See CONTRIBUTING.md for setup and guidelines.

License

This project is licensed under the GNU GPL v3. See LICENSE for the full text.

About

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Contributors

Languages