The official documentation site for SchoolSoft+ — covering the unofficial SchoolSoft API (reverse-engineered) and every route exposed by the SchoolSoft+ platform itself.
| Section | Description |
|---|---|
| SchoolSoft API Reference | Unofficial, reverse-engineered docs for SchoolSoft's internal REST & JSP endpoints — auth flow, schedule, lunch, news, subjects, assignments |
| SchoolSoft+ Routes | Full reference for every API route in SchoolSoft+ — auth, academic data, social, notes, countdowns, presence, and more |
- Next.js 16 — App Router, React 19, Server Components
- TypeScript 5 — strict mode throughout
- Tailwind CSS v4 — utility classes + CSS custom properties for the design system
- Lucide React — SVG icon library
- Geist — Vercel's Geist Sans & Geist Mono typefaces
No external UI component library — all doc primitives (CodeBlock, EndpointCard, ParamTable, Callout, etc.) are hand-rolled in components/DocComponents.tsx.
Prerequisites: Node.js 18+ and npm.
# 1. Clone the repo
git clone https://github.com/elias4044/ssp-developer.git
cd ssp-developer
# 2. Install dependencies
npm install
# 3. Start the dev server
npm run devOpen http://localhost:3000.
npm run build # production build
npm run start # start production server
npm run lint # run ESLintapp/
├── page.tsx # Home / landing page
├── layout.tsx # Root layout (NavBar + Footer)
├── globals.css # Design tokens (CSS custom properties)
└── docs/
├── schoolsoft-api/page.tsx # Unofficial SchoolSoft API reference
└── ssp-routes/page.tsx # SchoolSoft+ routes reference
components/
├── NavBar.tsx # Sticky top nav + mobile drawer
├── Footer.tsx # Site footer
├── DocLayout.tsx # Two-column doc layout (sticky sidebar + main)
├── DocComponents.tsx # Reusable doc primitives
│ ├── MethodBadge # GET / POST / PUT / PATCH / DELETE pill
│ ├── CodeBlock # Syntax-highlighted code block with copy
│ ├── EndpointCard # Collapsible endpoint card with copy-path
│ ├── ParamTable # Request/response parameter table
│ ├── SectionHeading # h2 with anchor-copy button
│ ├── SubHeading # h3 with # prefix
│ └── Callout # info / warning / danger callout
└── HomeFeatureCards.tsx # Interactive feature cards (Client Component)
All colors are defined as CSS custom properties in app/globals.css and referenced throughout via var(--*). There are no hardcoded color values in component files.
| Token | Value | Usage |
|---|---|---|
--background |
#0d1117 |
Page background |
--surface |
#161b22 |
Cards, sidebar, navbar |
--surface-raised |
#1c2128 |
Elevated surfaces |
--border |
#30363d |
All borders |
--foreground |
#cdd9e5 |
Primary text |
--muted |
#768390 |
Secondary text |
--accent |
#7ca5d0 |
Links, active states, icons |
Contributions, corrections, and additions are welcome — especially to the API docs, which are reverse-engineered and may be incomplete or out of date.
- Fork the repo and create a branch:
git checkout -b fix/my-change - Make your changes
- Open a pull request — fill in the PR template
Please read CONTRIBUTING.md before submitting.
- SchoolSoft+ — the main app this documents
MIT © Elias Gulam