Unified Web is the browser client for Unified LMS. It provides role-based workspaces for students, teachers, and administrators, with authentication and API calls proxied through a local Express server.
- Role-aware routing for student, teacher, and admin dashboards.
- Login with username/password and Google OAuth through the Unified API.
- Student views for home, schedule, and grades.
- Teacher views for grade management and schedule editing.
- Admin-oriented pages for dashboards, users, students, teachers, schedules, settings, and spreadsheet workflows.
- Theme customization, animated transitions, endpoint notifications, and reusable UI components.
- Local Express proxy for external Unified API requests.
The screenshots in .github/assets show the main product surfaces.
The login screen supports code/password authentication and Google sign-in. It is the entry point before the app redirects users into the correct role workspace.
The student home dashboard gives learners a compact starting point for lessons, schedules, and settings.
The student schedule view shows the learner's timetable with calendar navigation and lesson details.
The student grades view presents academic results in a focused layout for checking subject performance.
The teacher grades view helps instructors review and manage student performance from a dedicated teaching interface.
The teacher schedule view gives instructors a calendar-oriented overview of lessons and assigned classes.
The schedule edit flow supports updating lesson details directly from the teacher workspace.
- React 18 and TypeScript for the client.
- Wouter for routing.
- TanStack Query for async data fetching.
- Express 5 for the local proxy server.
- Tailwind CSS, Radix UI primitives, and lucide-react for the interface.
- Framer Motion for transitions and entry animations.
- Vite and tsx for local development and builds.
- Node.js 18 or newer.
- npm, included with Node.js.
- Access to the Unified API if you need authenticated data.
Install dependencies:
npm installStart the development server:
npm run devThe app runs at http://localhost:5000 by default.
npm run devRuns the Express server with Vite middleware for local development.
npm run buildBuilds the client and server into dist/.
npm run startRuns the production build from dist/index.cjs.
npm run checkRuns the TypeScript checker.
The local server proxies requests under /api/proxy to the external Unified API at:
https://unifyapi.onrender.com
Authentication routes are handled explicitly in server/routes.ts, including username/password login, Google OAuth redirects, Google callback exchange, and token checks. Other /api/proxy/* requests are forwarded to the external API with the user's bearer token.
Create a production build:
npm run buildStart the compiled app:
npm run startThis project is licensed under the MIT License. See LICENSE for details.






