Skip to content

anish1206/college-discovery-platform

Repository files navigation

Description of image

College Discovery Platform

A modern web application to discover, compare, and shortlist engineering colleges across India.

Features

  • College Discovery: Browse and search through a comprehensive database of engineering colleges
  • Advanced Filtering: Filter colleges by location, rating, fees, and placement packages
  • Comparison Tool: Compare multiple colleges side-by-side to make informed decisions
  • Saved Items: Save colleges and comparisons for later review (requires authentication)
  • Google Authentication: Secure login with Google OAuth
  • Responsive Design: Beautiful dark-themed UI that works on all devices

Tech Stack

  • Frontend: Next.js 16, React, TailwindCSS, shadcn/ui
  • Backend: Next.js API Routes
  • Database: PostgreSQL (Neon)
  • ORM: Prisma
  • Authentication: Auth.js with Google OAuth
  • State Management: React Hooks, LocalStorage

Getting Started

alt text

Prerequisites

  • Node.js 18+ installed
  • PostgreSQL database (Neon recommended)
  • Google OAuth credentials

Installation

  1. Clone the repository:
git clone https://github.com/anish1206/college-discovery-platform.git
cd college-discovery-platform
  1. Install dependencies:
npm install
  1. Set up environment variables (copy from .env.example):
DATABASE_URL=your_neon_database_url
DIRECT_URL=your_neon_direct_url
GOOGLE_CLIENT_ID=your_google_oauth_client_id
GOOGLE_CLIENT_SECRET=your_google_oauth_client_secret
NEXTAUTH_SECRET=generate_a_random_secret
NEXTAUTH_URL=http://localhost:3000
NEXT_PUBLIC_BASE_URL=http://localhost:3000
  1. Run database migrations:
npx prisma migrate dev
  1. Seed the database (optional):
npx prisma db seed
  1. Run the development server:
npm run dev

Open http://localhost:3000 to view the application.

Project Structure

src/
├── app/              # Next.js app directory
│   ├── api/          # API routes
│   ├── college/      # College detail pages
│   ├── compare/      # Comparison page
│   ├── saved/        # Saved items page
│   └── login/        # Login page
├── components/       # React components
│   ├── colleges/     # College-specific components
│   └── ui/           # shadcn/ui components
├── hooks/            # Custom React hooks
├── lib/              # Utility functions
├── types/            # TypeScript types
└── data/             # Static data

API Routes

  • GET /api/colleges - List all colleges with filters
  • GET /api/colleges/[id] - Get college details
  • POST /api/saved/college - Save a college
  • DELETE /api/saved/college - Unsave a college
  • POST /api/saved/comparison - Save a comparison
  • DELETE /api/saved/comparison - Delete a comparison
  • GET /api/saved - Get user's saved items

About

A modern web application to discover, compare, and shortlist engineering colleges across India.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Contributors