Logo Lanfrica

thalamuxtech/CampuxLegacy

Domaine:

education

Type de record:

software
Créateur:
tha
Hôte:
Premium digital yearbook & alumni memory platform for African universities — Next.js 14 + Firebase # CampuxLegacy **Preserving the story of every graduating class — a premium digital yearbook for African universities.** 🌐 **Live at ** CampuxLegacy turns once-in-a-lifetime graduation moments into a lasting digital archive. Verified profiles, written memories, goodwill messages — captured, moderated, and cryptographically sealed when a class graduates. --- ## Table of contents - Highlights - Tech stack - Quick start - Project structure - Features - Architecture - Routes - Deployment - License --- ## Highlights - **Next.js 14 (App Router)** with TypeScript, Tailwind, Framer Motion - **Firebase** for Auth, Firestore, and Storage on the **Spark (free)** plan - **Vercel** hosts the Next.js app — SSR + API routes on the free Hobby tier - **Role-based access** via Firebase custom claims (`superadmin`, `university_admin`, `rep`, `student`, …) - **Server-side session cookies** signed by the Admin SDK — no raw ID tokens in the browser - **Premium UI** — magazine-style graduate profiles, animated reveals, ⌘K command palette, skeleton loading states - **Tamper-evident sealing** — every approved class snapshotted into an immutable archive with a SHA-256 manifest ## Tech stack | Layer | Tech | |---|---| | Framework | Next.js 14 (App Router) · React 18 · TypeScript 5 | | Styling | Tailwind CSS 3 · Framer Motion · Radix UI primitives | | Data | Cloud Firestore (nested schema) · Cloud Storage | | Auth | Firebase Auth · session cookies · custom claims | | Hosting | Vercel (Next.js SSR + API routes) | | Data services | Firebase Spark (Auth · Firestore · Storage) | | CI/CD | Vercel (auto-deploy on push) · GitHub Actions (rules sync) | ## Quick start ```bash cd app npm install npm run dev ``` Opens at in **demo mode** with seeded data — no Firebase project required. To wire up real Firebase, copy `app/.env.local.example` → `app/.env.local` and fill in your project credentials. Full env reference in `app/README.md`. ## Project structure ``` . ├── app/ …