A campus resource database for marginalized groups at The Ohio State University, built in partnership with The Other Side of the Oval. Students can search and filter campus resources (advocacy centers, support services, communities) by keyword and category.
The repo root is a self-contained static site, so it deploys directly to GitHub Pages:
index.html— resource directory (search + category filters, all client-side)about.html,contact.html— info pagespublic/css/style.css,public/js/script.js— styles and the search/filter logic
Everything is pre-rendered in index.html; JavaScript only filters the already-visible
cards, so the site works even with JS disabled.
- Push this repository to GitHub (or upload files via the web UI).
- Make sure
index.htmlsits in the root of the repository. - Go to Settings → Pages → Source, select Deploy from a branch, and choose
main/ root. The site is live athttps://<user>.github.io/<repo>/. - (Optional) Point your own domain at it and add a
CNAMEfile — seedocs/CNAME.
Static asset links are relative (public/css/style.css), so the site also works when
served from a subpath like /<repo>/.
The Node.js + Express + MongoDB backend is still in the repo and can be run locally, but it is not used by GitHub Pages (which only serves static files).
Stack: Express 5 + EJS, MongoDB via Mongoose, express-session + connect-mongo, bcrypt + jsonwebtoken (auth scaffolding).
npm install
cp .env.example .env # optional; leave MONGODB_URI empty to use in-memory demo data
npm start # http://localhost:5000 (server-rendered EJS version)Set MONGODB_URI in .env to persist resources in MongoDB (the store auto-seeds on first run).
With no URI, the server falls back to the in-memory seeded data in server/data/seed.js,
which mirrors the static directory.