Skip to content

Repository files navigation

MCVETool - Multi-Country Visa Evaluation Tool

MCVETool is a comprehensive visa evaluation platform that helps users assess their visa eligibility across multiple countries using AI-powered document analysis.

Deom Video

Demo Video: Multi Country Visa Evaluation Tool

Archetecture

mcvetool

Things I could have done more

  • optimizations on RAG/Lang-Graph Layer
  • currenlty response getts hang on untill result comes in eventually i can implment SSE which will be user or file specific to inform that waht current process is going on in the frontend it self
  • PineCone Sementic search can be implemtnted may be two layer of EMBEEDDINGDS stroing
  • Paraller workflow for Live Search and Vector DB Exploration part
  • ETC.......

Getting Started

1. Environment Setup

Copy the environment example files and add your API keys:

cp apps/server/.env.example apps/server/.env
cp apps/web/.env.example apps/web/.env

Edit the .env files and add your required API keys:

  • Google Vertex AI API key
  • Google Generative AI API key
  • Pinecone API key
  • MongoDB connection string
  • Email service credentials

2. Installation

Install all dependencies:

bun install

3. Database Setup

Push the database schema:

bun run db:push

4. Running the Application

Start the development servers:

bun run dev

This will start both the backend API (port 3000) and web application (port 3001).

Alternatively, run them separately:

  • Backend only: bun run dev:server
  • Frontend only: bun run dev:web

Project Structure

mcvetool/
├── apps/
│   ├── server/              # Backend API (Express + TypeScript)
│   │   ├── src/
│   │   │   ├── agent/       # AI workflow and LangGraph orchestration
│   │   │   │   ├── graph/   # Workflow state management
│   │   │   │   ├── nodes/   # Individual workflow steps
│   │   │   │   ├── client.ts # LLM client configuration
│   │   │   │   ├── tools/   # Document processing tools
│   │   │   │   └── pinecone/ # Vector database operations
│   │   │   ├── controllers/ # API route handlers
│   │   │   ├── routes/      # Express route definitions
│   │   │   ├── services/    # Business logic services
│   │   │   ├── embedding/   # Text embedding client
│   │   │   ├── vector/      # Vector database client
│   │   │   └── index.ts     # Server entry point
│   │   └── .env.example     # Environment variables template
│   └── web/                 # Frontend (Next.js + React)
│       ├── src/
│       │   ├── app/         # Next.js app router
│       │   ├── components/  # React components
│       │   ├── hooks/       # Custom React hooks
│       │   └── lib/         # Utility functions
│       └── .env.example     # Environment variables template
├── packages/
│   ├── axios/               # HTTP client package
│   ├── config/              # Shared configuration
│   ├── db/                  # Database client and Prisma setup
│   └── types/               # Shared TypeScript types and Zod schemas
├── .ruler/                  # Project configuration
├── .husky/                  # Git hooks
└── turbo.json               # Turborepo build configuration

Other Test Image

SCR-20251114-nzzx SCR-20251114-nzpg

About

MCVETool is a comprehensive visa evaluation platform that helps users assess their visa eligibility across multiple countries using AI-powered document analysis.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages