AI-Powered Graduate Application Assistant
GradCompass is a comprehensive platform that guides students through their graduate school application journey using artificial intelligence. From university matching to visa interview preparation, the platform provides personalized insights and recommendations tailored to each student's unique profile.
- University Matcher: Find universities that match your profile and preferences using AI-powered recommendations
- Document Helper: Get assistance crafting compelling SOPs and application essays
- Exam Planner: Plan your GRE, TOEFL, or IELTS preparation with personalized study schedules
- Finance Planner: Budget planning and funding options exploration
- Visa Assistant: Visa requirements guidance and mock interview sessions
- Profile Management: Comprehensive academic and personal profile setup
- Real-time Mock Interviews: WebSocket-powered visa interview simulations
- Progress Tracking: Profile completion tracking and requirement validation
- Multi-country Support: Application guidance for 17+ countries
- Personalized Analytics: Detailed insights based on your academic background
- React 19.1.1 - Modern UI framework
- Tailwind CSS - Utility-first CSS framework
- Framer Motion - Animation library
- React Router - Client-side routing
- Zustand - Lightweight state management
- React Hook Form - Form handling with Yup validation
- FastAPI - High-performance Python web framework
- SQLAlchemy - ORM with async support
- Alembic - Database migrations
- AsyncPG - PostgreSQL async driver
- Pydantic - Data validation and serialization
- Google Gemini 2.0 - Advanced language model via LangChain
- LangGraph - AI workflow orchestration
- LangChain - LLM application framework
- PostgreSQL - Primary database
- JWT Authentication - Secure user authentication with passlib
- Node.js 16.0 or higher
- Python 3.8 or higher
- PostgreSQL 12.0 or higher
- Google AI API Key (for Gemini integration)
git clone https://github.com/your-username/gradcompass.git
cd gradcompasscd api
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Set up environment variables
cp .env.example .env
# Edit .env with your configuration:
# - DATABASE_URL
# - GEMINI_API_KEY
# - JWT_SECRET_KEY
# - etc.
# Run database migrations
alembic upgrade head
# Start the API server
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000cd client
# Install dependencies
npm install
# Start the development server
npm startThe application will be available at:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Documentation: http://localhost:8000/docs
gradcompass/
├── api/ # FastAPI backend
│ ├── app/
│ │ ├── config.py # Configuration settings
│ │ ├── database.py # Database connection
│ │ ├── main.py # FastAPI application
│ │ ├── models/ # SQLAlchemy models
│ │ │ ├── user.py
│ │ │ ├── profile.py
│ │ │ └── interview.py
│ │ ├── routers/ # API endpoints
│ │ │ ├── auth.py
│ │ │ ├── profile.py
│ │ │ └── interview.py
│ │ ├── services/ # Business logic
│ │ │ └── interview_service.py
│ │ └── utils/ # Utility functions
│ │ └── profile.py
│ ├── alembic/ # Database migrations
│ └── requirements.txt
├── client/ # React frontend
│ ├── public/
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Page components
│ │ │ ├── LandingPage.js
│ │ │ ├── DashboardPage.js
│ │ │ └── ProfileSetupPage.js
│ │ ├── stores/ # Zustand state management
│ │ ├── utils/ # Frontend utilities
│ │ └── App.js
│ ├── package.json
│ └── tailwind.config.js
└── README.md
DATABASE_URL=postgresql+asyncpg://username:password@localhost/gradcompass
GEMINI_API_KEY=your_google_ai_api_key
JWT_SECRET_KEY=your_jwt_secret_key
JWT_ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30
ENVIRONMENT=development- Complete your academic background (college, major, GPA)
- Add test scores (GRE, TOEFL, IELTS)
- Define goals and preferences (target degree, countries, budget)
- Add work experience details
- Use the University Matcher to find suitable programs
- Get document assistance for SOPs and essays
- Plan exam preparation schedules
- Explore funding and budget options
- Practice visa interviews
- Real-time WebSocket-based interview sessions
- AI-powered officer responses
- Comprehensive feedback and improvement suggestions
- Session history and progress tracking
The API follows RESTful conventions with the following main endpoints:
POST /auth/register- User registrationPOST /auth/login- User authenticationGET /profile/me- Get user profilePUT /profile/me- Update user profilePOST /interview/sessions- Create interview sessionWebSocket /interview/ws/{session_id}- Real-time interview
Full API documentation is available at /docs when running the server.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Frontend: ESLint + Prettier configuration
- Backend: Black formatter + isort for imports
- Follow conventional commit messages
# Backend tests
cd api
pytest
# Frontend tests
cd client
npm test- Database: Async operations with connection pooling
- Caching: Redis integration recommended for production
- WebSocket: Efficient real-time communication for interviews
- AI Responses: Streaming support for better UX
- JWT-based authentication with secure token handling
- Input validation using Pydantic models
- CORS configuration for secure cross-origin requests
- Environment variable management for sensitive data
Docker configuration files are included for containerized deployment:
# Build and run with Docker Compose
docker-compose up --build- Use PostgreSQL with proper connection pooling
- Implement Redis for session management and caching
- Configure reverse proxy (Nginx) for load balancing
- Set up proper logging and monitoring
- Use environment-specific configuration
For issues, questions, or contributions:
- Create an issue in the GitHub repository
- Check the API documentation at
/docs - Review the contribution guidelines
GradCompass - Transforming graduate school applications with AI-powered guidance and personalized insights.