Skip to content

dev-mdsohagmiya/CampusTransfer.com-Overview

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

CampusTransfer — Full Stack Web Platform

A large-scale education consultancy platform built with React + TypeScript (frontend) and Node.js + Prisma (backend), featuring four interconnected portals: a public website, a partner portal, a student portal, and an admin panel. Developed over 6 months as a Full Stack Developer, personally responsible for approximately 60% of the total codebase — spanning UI implementation, API integration, state management, role-based access control, real-time chat, and complex multi-step workflows. Live at https://campustransfer.com


Resume Summary (3–4 lines)

Built CampusTransfer — a full-featured education consultancy platform — from scratch over 6 months as a Full Stack Developer (60% contribution). Delivered four production portals (public website, partner, student, admin) with JWT authentication, role-based permissions, RTK Query-powered API layer, real-time chat, multi-step onboarding, application tracking pipeline, invoice/payment management, and a full CMS. Tech stack: React, TypeScript, Redux Toolkit, Ant Design, Node.js, Prisma ORM, PostgreSQL.


Project Overview

Item Detail
Live Website https://campustransfer.com
Duration 6 months
Role Full Stack Developer
Contribution ~60% of total codebase
Frontend Stack React 18, TypeScript, Redux Toolkit (RTK Query), Ant Design, Tailwind CSS, React Router
Backend Stack Node.js, Express, Prisma ORM, PostgreSQL
Other Tools TinyMCE (rich text), Socket.io (chat), JWT (auth), Cloudinary (media)

Authentication System

Three separate auth flows share a unified backend but are isolated by role and portal.

How It Works

  • JWT-based authentication — short-lived access token stored in Redux state (auth.token); refresh token stored in HTTP-only cookie.
  • Automatic token refresh — a custom RTK Query baseQueryWithRefreshToken wrapper intercepts every 401 response, attempts a silent refresh via /auth/refresh-token, then retries the original request. If refresh also fails, the user is logged out automatically.
  • Role-based access control (RBAC) — Admin employees carry a designation with a permissions array ({ module, actions[] }). Every protected page checks canView, canCreate, canEdit, canDelete against the current user's permission set before rendering actions.
  • Client metadata headers — every API request includes X-Client-Details (IP address, user agent, browser URL, timestamp) for audit logging.

Auth by Portal

Portal Login Entry State Shape Roles
Admin /admin/login { user, token } — user includes designation + permissions Super Admin, Admin, Employee
Partner /partner/login { user, token } — user includes partner profile + team role Partner Owner, Team Member
Student /student/login { user, token } — user includes student profile Student

Auth Endpoints (Backend)

  • POST /auth/login — credential login, returns access token + sets refresh cookie
  • POST /auth/register — new account creation
  • POST /auth/refresh-token — silent token renewal
  • POST /auth/forgot-password — sends reset email
  • POST /auth/reset-password — token-based password reset
  • POST /auth/set-password-by-invitation — invited employees/team members set their password
  • GET /auth/me — fetch current authenticated user profile

Phase 1 — Public Website

Live: https://campustransfer.com

The public-facing marketing and information site, fully CMS-driven from the Admin Panel.

Features

  • Homepage — hero banner, featured destinations, hot offers, testimonials, partner logos, call-to-action sections — all editable from admin
  • Course Search & Filter — search by keyword, country, city, university, subject/course, study level, duration, fee range, intake month/year; paginated results with sorting
  • Study Destinations — country pages with study levels, documents required, visa info, and associated universities
  • University Profiles — overview, gallery, video gallery, courses offered, documents required
  • Partner Institutions — directory of partner universities and colleges
  • News & Articles — categorized news feed and long-form guide articles
  • Events — upcoming education fairs and webinars with speaker profiles
  • Jobs — career listings board
  • FAQs — categorized frequently asked questions
  • Contact — inquiry form with country-specific contact routing
  • Gallery — photo and video gallery sections

Phase 2 — Partner Portal

Partners (education agencies/consultancies) manage their students, applications, team, and commissions.

Features

Onboarding (5-Step Wizard)

  1. Basic company information
  2. Business documents upload
  3. Contract agreement (digital signature)
  4. Bank account details
  5. Review & submit — triggers admin approval workflow

Dashboard

  • Overview stats: total students, active applications, pending tasks, commission earned
  • Recent activity feed

Course & University Search

  • Same search/filter engine as the public website
  • Saved searches and shortlisted courses
  • Hot Offers — featured courses with special incentives highlighted by admin

Student Management

  • Add and manage student profiles
  • Full student profile: general info, education history, background, document uploads
  • Link students to applications

Application Management

  • Submit applications on behalf of students to universities
  • Track application status through pipeline stages
  • Upload supporting documents per application
  • Add notes and comments to applications

Team Management

  • Invite team members by email (email invitation with set-password flow)
  • Assign roles within the partner organization
  • Manage active/inactive team members

Task Management (Partner Tasks)

  • Admin-assigned tasks visible to partner
  • Status tracking and completion

Payments & Invoices

  • View commission invoices generated by admin
  • Track payment status (pending, paid)
  • Bank account management for commission disbursement

Real-Time Chat

  • Direct messaging with CampusTransfer advisors
  • Conversation history, unread message count
  • File/document sharing in chat

Announcements

  • System-wide announcements from admin displayed in portal

Profile Management

  • Partner company profile, logo, contact details
  • Contract documents view

Phase 3 — Student Portal

Students manage their own profile, explore courses, track applications, and communicate directly.

Features

Profile Completion

  • Multi-section profile: personal/general information, education history, background, uploaded documents
  • Profile completion percentage indicator
  • Documents: passport, transcripts, language certificates, etc.

Course Discovery

  • Full search and filter: country, city, university, course, study level, duration, fee, intake
  • Shortlist/save courses of interest

Application Tracking

  • View all submitted applications (submitted by student or partner on their behalf)
  • Real-time status updates through application stages
  • Document checklist per application

Meetings

  • Schedule and view consultation meetings with advisors

Refer & Earn

  • Referral program: share referral link, track referred users and rewards

Real-Time Chat

  • Chat with CampusTransfer advisors
  • Message history and notifications

Notifications

  • In-app notification centre for application updates, announcements, messages

Announcements

  • Admin broadcasts displayed in student portal

Phase 4 — Admin Panel

The central control system for CampusTransfer staff. Role-based, with each employee seeing only the modules their designation permits.

Employee & Access Management

  • Employees — create, edit, deactivate employees; assign designations
  • Designations — create custom roles with granular module-level permissions (per module: can view, create, edit, delete)
  • Invitation Flow — invite employees by email; they set their own password on first login

Application Pipeline (7 Stages)

Full CRM-style application management:

  1. Submitted — new applications from partners/students
  2. Document Review — checking completeness of uploaded documents
  3. Processing — application forwarded to university
  4. Conditional Offer — conditional offer letter received
  5. Unconditional Offer — unconditional offer letter issued
  6. Enrolled — student confirmed enrollment
  7. Rejected / Withdrawn — closed applications

Each application has: student info, course details, partner info, document list, notes thread, status history log.

Partner Management & Onboarding

  • Review and approve/reject partner onboarding applications (5-step review)
  • View partner contracts, documents, bank accounts
  • Reset/reopen onboarding for corrections
  • View all active partners, their teams, students, applications

Task Management

  • Admin Tasks — tasks assigned between admin employees; status: In Progress → Submitted → Completed/Cancelled
  • Partner Tasks — tasks assigned to partners; visible in partner portal
  • Priority levels: Low, Medium, High, Urgent
  • Board view filtered by status and priority
  • Rich text completion notes with review/reassign workflow

CMS — Content Management

All public website content managed from admin:

  • Homepage — hero, sections, featured content
  • Countries / Study Destinations — add/edit countries with study levels, documents, info pages
  • Cities — manage cities linked to countries
  • Universities — full university profiles, galleries, video galleries, course listings, documents
  • Courses / Subjects — course catalog
  • Study Levels — Diploma, Bachelor, Master, PhD, etc.
  • Partner Institutions — logos and listings on website
  • Fee Ranges — configurable fee brackets for search filters
  • News — categories + articles
  • Guides — categorized long-form content
  • Events — event listings with speakers
  • Jobs — job board listings
  • FAQs — categorized Q&A
  • Gallery — photo gallery categories and sections
  • Video Gallery — video categories and uploads
  • Announcements — broadcast messages to partner/student portals
  • Hot Offers — featured course promotions

Finance & Invoicing

  • Generate commission invoices for partners
  • Track invoice status (pending / paid)
  • Payment records and history

Media Library

  • Centralized file/image manager with folder organization
  • Used across all CMS modules for image/document selection

Reports & Analytics

  • Application statistics by stage, partner, country, period
  • Student and partner growth metrics

Real-Time Chat

  • Admin staff chat with partners and students
  • Unread message counts, conversation management
  • Advisor assignment per partner/student

Settings

  • System-wide configuration
  • Contact country routing
  • Platform settings

Architecture Highlights

  • Monorepo structure — 4 separate apps (admin.campustransfer, partner.campustransfer, student.campustransfer, server.campustransfer) in one workspace
  • Shared API layer — all frontends use RTK Query with automatic token refresh; a single baseApi instance per app with injectEndpoints() for modular API slices (55 feature slices in admin, 22 in partner, 19 in student)
  • Type safety — strict TypeScript throughout; Prisma-generated types shared to frontend contracts
  • Permission-aware UI — every admin action button, form, and route guard checks runtime permissions from the JWT payload; no hardcoded role checks
  • Real-time — Socket.io for chat across all three portals with unread badge counts
  • Optimistic updates — RTK Query cache invalidation keeps lists and detail views in sync after mutations without full page reloads

About

CampusTransfer is a full-stack education consultancy platform that connects students, partner agencies, and universities in one ecosystem. Students discover and apply to universities abroad; partner agencies manage their students and track commissions; and admins control the entire pipeline — from content and onboarding to applications and payments

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors