Pedal-Pact

Overview:

Pedal Pact is a full-stack web application I developed as my capstone project for the AAS in Web & Software Development program. Designed for cycling enthusiasts, it provides a platform for riders to create, join, and manage group rides;complete with interactive route mapping and ride registration features. You may log in with 'steve@example.com' password '123456' or you may register a new user.

Key Features:

  • Interactive Google Maps Integration: Users can draw custom bike routes directly on the map, view terrain and elevation, and save those routes to share with others.
  • Role-Based Access Control: Public visitors can browse rides, members can join them, and admins can create and manage routes and events.
  • User Authentication & Authorization: Secure login and registration with email verification, password reset, and CAPTCHA protection using Resend and Cloudflare Turnstile.
  • Responsive Design: Mobile-first, fully responsive UI built with React and Tailwind CSS for a seamless experience across devices.
  • Modern Tech Stack:
    • Frontend: Next.js 15, React 19, Tailwind CSS
    • Backend: Node.js, Prisma ORM, PostgreSQL (hosted on Neon)
    • APIs: Google Maps JavaScript API, Maps Elevation API, National Weather Service, UploadThing
    • Deployment: Vercel with a custom domain configured via SiteGround

Challenges Solved:

  • Developed a route-saving mechanism that converts drawn map paths into GeoJSON and stores them in the database for later use.
  • Designed and implemented role-based page protection and server-side logic for user actions using NextAuth.js.
  • Optimized map performance and implemented static map generation for fast-loading previews.
  • Addressed accessibility issues to ensure keyboard navigation, ARIA compliance, and visual contrast met usability standards.

Takeaways:

Building Pedal Pact taught me how to structure and scale a real-world full-stack application. I deepened my knowledge of relational databases, RESTful API design, secure authentication flows, and geospatial data handling. It also gave me firsthand experience with performance optimization, usability testing, and deploying a production-ready app.

View Github

Pedal pact website.
Email icon.Reveal my email

© 2025 David Graham. All rights reserved.