← Back to projects
WebcompleteDecember 2023

XKCD-Style Message Board

A full-stack message board with bcrypt-secured auth, post CRUD, sorting, and pagination, styled after the XKCD webcomic.

XKCD-Style Message Board

A complete web application that mimics the distinctive hand-drawn aesthetic of XKCD comics while providing full social platform functionality. Built for CSCI 4131 (Internet Programming).

Features

  • User Authentication: Secure registration and login with bcrypt password hashing
  • Post Management: Full CRUD operations for user posts
  • Sorting Options: View posts by most recent or most liked
  • Pagination: Efficient browsing through large post collections
  • Light/Dark Mode: Theme toggle matching XKCD's visual style
  • Custom Typography: Uses the 'xkcd-script' font for authentic styling

Technical Implementation

  • Backend: Node.js with Express.js framework
  • Templating: Pug (Jade) for server-side HTML generation
  • Database: MySQL with async/await query patterns
  • Security: bcrypt for password hashing, express-session for session management
  • Connectivity: SSH tunnel support for secure database access

Architecture

The application follows MVC principles with:

  • Express routes handling HTTP requests
  • Pug templates rendering dynamic views
  • MySQL database storing users and posts
  • Session middleware managing authentication state

Database Schema

A relational MySQL schema with a users table for secure password storage, a posts table keyed to authors, and like/interaction tracking.

The project exercises full-stack fundamentals end to end: authentication, relational data modeling, and responsive UI.