muralMaDrs screenshot

muralMaDrs

Bootstrap / Cloudinary / EJS / Express / Mapbox / MongoDB / Node.js / Passport

Description

A full-stack application I developed using MongoDB, Mongoose, Express, Node.js, EJS, Bootstrap, Passport, Cloudinary, & Mapbox - that allows users to find & review public art murals, or sign up & upload murals. CRUD & RESTful routes.

BUGS: The "DEMO" link occasionally returns a "bad gateway", requiring resubmission or reload. It's because the app is hosted on Vercel edge, but proxied through Cloudflare. If you receive a "bad gateway" error, resubmission or reload should fix it.

Overview

A full-stack application I developed using MongoDB, Mongoose, Express, and Node.js to implement the backend, CRUD, and RESTful routes. CSS, EJS, and Bootstrap for templating and the front end. Images are hosted on Cloudinary, and the map component uses Mapbox.

I used Passport to implement authorization and authentication, allowing users to sign up and post their own murals (or murals they've seen), including images and reviews. Only the user who uploaded a mural or wrote a review can edit or delete it. I'm using the Mapbox cluster feature, causing nearby murals to cluster together. Clicking a cluster zooms in to show the individual murals.

I'm still working to improve and maintain the app, but a lot of the tech I used felt eclipsed as I transitioned into more React, Next, SvelteKit, Tailwind, Prisma, PlanetScale, and tRPC development.

Copyright © 2025 MaDr™, MaDrCloudDev™, Matthew Drish | MaDr.io