IST

Based in New Delhi

Yahya TariqueProduct Engineer

Yahya Tarique · Navigation

Take a look.

Based in New DelhiIndia · IST

← All work

Case study 04/08 // Platform · Immigration

Lets Get Visa

Visa application and case management: customer portal, admin dashboard, PDF forms and document workflows.

Role
Full-stack developer
Year
2026
Stack
React, Node.js, PostgreSQL, Redux
Live
dev.letsgetvisa.com ↗
Lets Get Visa cover

The write-up

LetsGetVisa

LetsGetVisa is a full-stack visa application and case management platform that helps users prepare and track visa applications, manage documents, and collaborate with an admin dashboard for case handling.

Project Overview

The project comprises three separate repositories: a customer-facing portal (React), an admin dashboard (React + Vite + MUI), and a backend API (Node.js + Express). A WordPress website serves as the main site and redirects users to the portal when they log in, sign up, check eligibility, or request any service. The stack uses TypeScript across the frontends and a Node/PostgreSQL backend with file storage (e.g. S3) and integrations for payments and email.

Key Features

  • WordPress website: Main marketing/content site; redirects to the user portal on login, signup, eligibility checks, or when requesting any service
  • Customer Portal: Visa application flows, document uploads, and case status tracking
  • Admin Dashboard: Case management, user management, and internal workflows (built with Minimal UI reference and MUI)
  • Backend API: RESTful services, authentication (e.g. JWT, Passport), file handling, and integrations (Stripe, email)
  • Document & asset management: Cover letters, supporting documents, and structured templates

Technology Stack

Portal (customer-facing):

  • React (Create React App), TypeScript, Redux (Redux Toolkit)
  • React Router, Axios, Tailwind-based styling
  • React Hook Form-style flows, jsPDF / html2canvas for document generation

Admin:

  • React, TypeScript, Vite
  • MUI (Material UI), React Router, Minimal shared components
  • ApexCharts, React Markdown, drag-and-drop (e.g. @dnd-kit) for dashboards and content

Backend:

  • Node.js, Express
  • PostgreSQL with Sequelize
  • AWS S3 (e.g. multer-s3) for uploads, Stripe, Nodemailer, Passport (e.g. Google OAuth), JWT
  • Swagger for API documentation

Development Highlights

  • Multi-repo setup: Portal, admin, and API are separate repositories with clear separation and shared product context (e.g. visa types, document templates)
  • Admin UX: Dashboard and case views built from a Minimal-style reference, with tables, charts, and document previews
  • Document workflows: Support for cover letter and application document generation and storage
  • API design: REST + Swagger, session/JWT auth, and file upload pipelines

My Contributions

  • Customer Portal: Built the React (CRA) user portal with visa application flows, eligibility checks, document uploads, and case status tracking; integrated Redux for state and document generation (e.g. jsPDF / html2canvas) for cover letters and application assets
  • Admin Dashboard: Developed the internal admin app with Vite + React + MUI and Minimal-style UI: case management, user management, dashboards, charts (ApexCharts), and content workflows including drag-and-drop and markdown editing
  • Backend API: Implemented Node.js + Express REST API with PostgreSQL (Sequelize), JWT and Passport (e.g. Google OAuth), file uploads (AWS S3 via multer-s3), Stripe and Nodemailer integrations, and Swagger documentation
  • Cross-app consistency: Ensured aligned product flows and data expectations across the WordPress site, portal, and admin so eligibility checks and service requests redirect cleanly into the portal
  • Document & asset handling: Designed and implemented cover letter and supporting-document flows, including templates and storage, used by both portal and admin

Technical Achievements

  • Full-stack ownership: Delivered frontend (portal + admin) and backend across three separate repositories with consistent patterns and shared product context
  • Document generation: Integrated client-side document generation and server-side storage for visa-related assets (cover letters, supporting docs) with S3 and structured templates
  • Admin tooling: Built a production-grade admin experience with MUI, charts, sortable lists, and markdown-driven content
  • API design: RESTful API with auth (JWT, Passport), file pipelines, and documented surface (Swagger) for portal and admin consumers

Technical Challenges Solved

  • Multi-repo coordination: Kept portal, admin, and API in sync without a monorepo—shared product flows, auth, and document semantics across repos
  • Redirect and flow alignment: Aligned WordPress (login, signup, eligibility, services) with the React portal so users land in the right place with correct context
  • Document workflows: Reliable generation, upload, and storage of user-generated documents (cover letters, etc.) with clear ownership between portal and backend
  • Admin scalability: Structured admin dashboard and case management for growth (tables, filters, charts) without sacrificing performance

This project demonstrates full-stack delivery of a multi-tenant-style product with separate customer and admin experiences, document handling, and a Node/PostgreSQL backend with modern React frontends.