A message board with full social-platform functionality, styled after the hand-drawn XKCD aesthetic down to the xkcd-script typeface. Built for CSCI 4131 (Internet Programming).
Features
- User accounts: registration and login with bcrypt password hashing and express-session state.
- Posts: full CRUD, with sorting by most recent or most liked.
- Pagination: server-side paging for large post collections.
- Light/dark mode: theme toggle matching the comic's palette.
Implementation
Node.js and Express on the backend, Pug templates rendering server-side views, and MySQL for persistence with async/await query patterns. The schema keys posts to authors and tracks likes as separate interaction rows. Database access runs over an SSH tunnel. The application follows MVC: routes handle requests, templates render views, and session middleware carries authentication state.
