Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/asubap/website/llms.txt

Use this file to discover all available pages before exploring further.

The Beta Alpha Psi Beta Tau Chapter web platform is a full-stack, member-facing application built to serve three distinct audiences: active chapter members, executive board officers, and corporate sponsors. It provides authenticated dashboards, a chapter-wide networking directory, event management with RSVP and check-in flows, an announcement system, a shared resource library, and an administrative control panel — all unified under a single React SPA deployed to Vercel. The frontend communicates with a separate backend API (referenced via VITE_BACKEND_URL) that owns the database and business logic, while Supabase handles identity via Google OAuth and session persistence in localStorage.

Who This Documentation Is For

Chapter Developers

Engineers contributing to the platform who need to understand the project structure, auth system, routing conventions, and how to spin up a local environment.

E-Board Officers

Technical officers who need to understand how roles, permissions, and protected routes work — and what the admin dashboard can and cannot do without a backend change.

New Contributors

Anyone onboarding to the codebase for the first time. Start with the local setup guide, then read the architecture overview.

Sponsor Contacts

Technical stakeholders at sponsor companies who want to understand how sponsor accounts are provisioned and what the sponsor portal exposes.

Tech Stack at a Glance

LayerTechnologyVersion
UI FrameworkReact19.0
LanguageTypeScript~5.7.2
Build ToolVite6.2
StylingTailwind CSS3.4
RoutingReact Router DOM7.5
Auth & DB ClientSupabase JS2.49
HTTP ClientAxios1.8
MapsLeaflet + react-leaflet1.9 / 5.0
Rich TextTinyMCE React6.3
Fuzzy SearchFuse.js7.1
IconsLucide React + react-icons0.479 / 5.5
Toastsreact-hot-toast2.5
HostingVercel

Project Folder Structure

The frontend lives entirely inside Frontend/ within the monorepo. The src/ directory follows a feature-aware layout where pages own their top-level view components and components/ is further split by domain.
Frontend/
├── index.html                  # Entry HTML — loads Outfit & Montserrat fonts
├── vite.config.ts              # Vite config with @vitejs/plugin-react
├── tailwind.config.js          # Custom colors, fonts, and plugins
├── vercel.json                 # SPA rewrite rule (/* → /index.html)
├── package.json
└── src/
    ├── main.tsx                # ReactDOM.createRoot entry point
    ├── App.tsx                 # Root router, AuthProvider, ToastContext
    ├── App.css
    ├── vite-env.d.ts
    ├── assets/                 # Static assets (logos, images)
    ├── pages/                  # One directory per route
    │   ├── homepage/           # HomePage.tsx, AuthHome.tsx
    │   ├── about/
    │   ├── admin/
    │   ├── contact-us/
    │   ├── eboard-faculty/
    │   ├── events/             # EventsPage.tsx, ViewEvent.tsx
    │   ├── login/
    │   ├── member/
    │   ├── membership/
    │   ├── network/            # NetworkingPage, AlumniPage, EboardPage
    │   ├── notfound/
    │   ├── resources/
    │   ├── sponsor/
    │   ├── sponsors/
    │   └── sponsors-network/
    ├── components/             # Reusable UI — split by domain
    │   ├── admin/              # Modals, sidebar, management panels
    │   ├── announcement/
    │   ├── auth/               # GoogleLogin, SponsorAuth
    │   ├── common/             # LoadingSpinner, SearchInput, SortDropdown, etc.
    │   ├── event/              # EventCard, EventRSVP, EventCheckIn, etc.
    │   ├── Hero/
    │   ├── InstagramEmbed/
    │   ├── layout/             # Navbar, Footer
    │   ├── logOut/
    │   ├── member/
    │   ├── nav/                # NavLink.ts — nav link definitions
    │   ├── network/            # NetworkList, NetworkSearch, NetworkProfileModal
    │   ├── protectedRoute/     # ProtectedRoute.tsx
    │   ├── resource/
    │   ├── sponsor/
    │   └── ui/                 # Toast, Modal, SponsorCard, ProcessStep, etc.
    ├── context/
    │   ├── auth/               # authProvider.tsx, supabaseClient.ts
    │   └── toast/              # ToastContext.tsx
    ├── hooks/
    │   └── useScrollLock.ts
    ├── services/
    │   └── memberArchiveService.ts
    ├── types/
    │   └── index.ts
    └── utils/
        ├── permissions.ts      # canAccessFeature(), isAlumni()
        └── sortUtils.ts

Quick Navigation

Local Setup

Clone the repo, install dependencies, configure your .env, and start the dev server in minutes.

Environment Variables

Every environment variable the frontend needs, where to find the values, and what happens if one is missing.

Architecture Overview

Deep-dive into the full dependency list, the src/ directory conventions, and how the app is wired together at a high level.

Build docs developers (and LLMs) love