Skip to content
Notifications You must be signed in to change notification settings

NafisMahim/CongressionalApp1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ae7467e · · Nov 13, 2025

History

676 Commits
Nov 11, 2025
Nov 11, 2025
Nov 11, 2025
Jul 20, 2025
Jul 5, 2025
Oct 29, 2025
Nov 11, 2025
Jul 5, 2025
Jul 9, 2025
Jul 5, 2025
Jul 9, 2025
Jul 8, 2025
Jul 8, 2025
Jul 9, 2025
Jul 8, 2025
Jul 8, 2025
Jul 8, 2025
Jul 12, 2025
Jul 12, 2025
Jul 9, 2025
Jul 12, 2025
Oct 29, 2025
Oct 29, 2025
Jul 5, 2025
Jul 20, 2025
Jul 12, 2025
Nov 11, 2025
Jul 8, 2025
Jul 5, 2025
Jul 22, 2025
Jul 8, 2025
Jul 5, 2025
Jul 20, 2025
Jul 8, 2025
Jul 8, 2025
Jul 5, 2025

Repository files navigation

Academic Opportunity Platform

A comprehensive platform for discovering and managing academic opportunities including internships, scholarships, competitions, and grants. Built with modern web technologies and intelligent matching algorithms.

Features

  • Smart Matching System: Personalized opportunity recommendations based on your academic profile, major, and interests
  • Comprehensive Database: 8,000+ curated opportunities from trusted sources including government databases, universities, and verified organizations
  • Essay Analysis: Advanced feedback system that analyzes your essays against successful college application examples
  • Smart Search & Filtersters: Fast, relevancy-scored search with filtering by type, location, and deadline
  • Application Tracking: Track your applications, deadlines, and progress all in one place
  • Real-Time Data: Automated data collection pulls the latest opportunities from multiple sources

Tech Stack

Frontend

  • React with TypeScript for type-safe UI development
  • Vite for fast development and optimized production builds
  • TailwindCSS with shadcn/ui components for modern, accessible UI
  • TanStack Query for efficient server state management
  • Wouter for lightweight client-side routing

Backend

  • Express.js REST API with TypeScript
  • PostgreSQL with Drizzle ORM for type-safe database operations
  • Natural Language Processing for intelligent matching and essay analysis
  • Axios & Cheerioerio for web scraping and data collection

Data Sources

  • U.S. Department of Education College Scorecard API
  • Urban Institute Education Data API
  • Grants.gov
  • Curated academic program databases
  • Real-time job board scraping (Y Combinator, GitHub, Stack Overflow)

Installation

  1. Clone the repository
git clone repository-url>gt;

cd opportunity-finder
  1. Install dependencies
npm install
  1. Set up environment variables
cp .env.example .env

Required environment variables:

  • DATABASE_URL - PostgreSQL database connection string

Optional API keys (for enhanced features):

  • GEMINI_API_KEY - Google Gemini API key for intelligent matching and analysis
  • GEMINI_API_KEY_2, GEMINI_API_KEY_3, etc. - Additional keys for API rotation
  • OPENAI_API_KEY - OpenAI API key as fallback
  • OPENROUTER_API_KEY - OpenRouter API key as additional fallback

Note: The application will start without API keys configured but advanced matching and essay analysis features will use fallback algorithms. For full functionality, configure at least GEMINI_API_KEY.

  1. Push database schema
npm run db:push
  1. Start development server
npm run dev

The application will be available at http://localhost:5000

Project Structure

├── client/              # Frontend React application
│   ├── src/
│   │   ├── components/  # Reusable UI components
│   │   ├── pages/       # Page components
│   │   └── lib/         # Utility functions
├── server/              # Backend Express API
│   ├── routes.ts        # API endpoints
│   ├── storage.ts       # Database operations
│   └── scrapers/        # Data collection services
├── shared/              # Shared types and schemas
└── attached_assets/     # Static assets and data files
ata files

Key Features Explained

Matching Algorithm

The platform analyzes opportunities against your profile using advanced algorithms:

  • Major/minor fields weighted at 50% for academic focus
  • Career interests weighted at 10%
  • Relevancy scoring with detailed match explanations

Essay Analysis System

Compare your essays against a database of successful college applications:

  • Detailed feedback on tone, themes, and writing style
  • Specific recommendations with exact quote references
  • Competitiveness scoring

Data Integrity

  • Duplicate detection prevents redundant entries
  • URL validation ensures all links are functional
  • Regular data updates from trusted sources

Development

Available Scripts

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run start - Run production build
  • npm run check - Type check with TypeScript
  • npm run db:push - Push database schema changes

Database Schema

The application uses Drizzle ORM with PostgreSQL. Schema defined in shared/schema.ts:

  • Users and profiles
  • Opportunities with tags and requirements
  • Applications and tracking
  • Essays and analysis

Contributing

Contributions are welcome! Please ensure all new opportunities have valid URLs and follow existing code patterns.

License

MIT License - See LICENSE file for details

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published