Skip to content
Browser icon with opened closing tags in code.
  • Welcome
  • About Me
  • Blog
  • Contact
  • Portfolio

Spellbound Books Case Study

Spellbound Books Case Study

IT231 full-stack project: a responsive online bookstore demo built with Node, Express, and MongoDB. Features a multi-page structure, client-side interactivity, and a backend form submission system with EJS templates.

Course: IT 231   •   Role: Full-stack Developer & UX Designer   •   Stack: Node.js, Express.js, EJS, MongoDB, Vanilla JS, CSS

Project Overview & Goals

The goal was to create a feature-rich, accessible bookstore demo that integrates front-end interactivity with full backend routing and data persistence. The site demonstrates CRUD functionality, organized routing, and accessible form design backed by a MongoDB database.

Features & Structure

  • Pages include Home, Catalog, Authors, Community & Reviews, and Contact (stores submissions in MongoDB).
  • Client-side JavaScript features: live search filtering, featured carousel, client-side form validation, and AJAX review submission.
  • Structured project layout separating routes/, views/, models/, and public/ assets.

UX, Accessibility & Design

Accessibility was prioritized with descriptive alt text, ARIA labels, keyboard navigation, and strong color contrast. All content was written without placeholders. The responsive layout is achieved with one unified stylesheet and scalable grid sections.

Sample Code (Express POST Route)

// main.js (excerpt)
router.post('/contact', async (req,res,next) => {
  try {
    const doc = new Subscriber(req.body);
    await doc.save();
    res.render('thanks', { name: doc.name });
  } catch (err) {
    next(err);
  }
});
    

Lessons Learned & Next Steps

This project strengthened my understanding of end-to-end development using Node and MongoDB, as well as front-end and accessibility integration. Future improvements include adding admin authentication, optimizing images, and implementing server-side rate limiting for security.

View Repository / Demo

Related Posts:

  • Local Sounds Case Study
    Local Sounds Case Study
  • The Horror Archive Case Study
    The Horror Archive Case Study
  • home-vv
    Voces del Viento Case Study
  • Homepage of Spellbound Books website showing a modern bookstore layout with featured titles, navigation links, and a welcoming tagline encouraging readers to explore.
    Portfolio
  • The Role of Ethics in Building a Better Tech Future
    The Role of Ethics in Building a Better Tech Future
  • Laptop screen showing HTML and JavaScript code in a code editor
    Welcome
© 2025 ST Carpenter WordPress Theme. Design and Develop by StrivioThemes.

Powered by
...
►
Necessary cookies enable essential site features like secure log-ins and consent preference adjustments. They do not store personal data.
None
►
Functional cookies support features like content sharing on social media, collecting feedback, and enabling third-party tools.
None
►
Analytical cookies track visitor interactions, providing insights on metrics like visitor count, bounce rate, and traffic sources.
None
►
Advertisement cookies deliver personalized ads based on your previous visits and analyze the effectiveness of ad campaigns.
None
►
Unclassified cookies are cookies that we are in the process of classifying, together with the providers of individual cookies.
None
Powered by