DEV Community

Cover image for ExchangeCash: Reviving My Location-Based Cash Exchange Platform
ashish yadav
ashish yadav

Posted on

ExchangeCash: Reviving My Location-Based Cash Exchange Platform

GitHub “Finish-Up-A-Thon” Challenge Submission

ExchangeCash: Reviving My Location-Based Cash Exchange Platform

What I Built

I built ExchangeCash, a location-based platform that helps nearby users exchange cash and digital payments safely and efficiently.

The idea is simple:

  • User A wants to give cash and receive an online payment
  • User B wants to transfer online money and receive cash

The platform automatically finds nearby matching users and connects them through a real-time chat system.

The project uses location-based matching, MongoDB geospatial queries, Socket.IO real-time communication, and a responsive user interface.


Tech Stack

Frontend

  • HTML
  • CSS
  • JavaScript
  • EJS

Backend

  • Node.js
  • Express.js

Database

  • MongoDB
  • Mongoose

Real-Time Communication

  • Socket.IO

Demo

GitHub Repository

https://github.com/01ashish342/exchangecash

Live Demo

https://exchangecash.onrender.com


Features

  • Location-based user matching
  • Real-time match detection
  • MongoDB geospatial search
  • OTP verification flow
  • Real-time chat system
  • Live location sharing
  • Responsive UI
  • Match management system

How It Works

  1. User logs in and shares their location
  2. Location is stored in MongoDB using geospatial indexing
  3. Backend finds nearby users with opposite exchange intent
  4. Socket.IO establishes a real-time connection between matched users
  5. Users are connected to a live chat session
  6. Exchange process continues through chat coordination

The Comeback Story

This project was originally built several months ago as a prototype.

Like many side projects, it was left unfinished after the initial development phase. The core functionality worked, but the project lacked proper documentation, presentation, screenshots, and deployment readiness.

The GitHub Finish-Up-A-Thon gave me the motivation to revisit and complete this unfinished project.

During the challenge, I:

  • Reviewed the existing codebase
  • Improved project documentation
  • Created a structured README
  • Added screenshots
  • Organized repository structure
  • Verified deployment
  • Prepared the project for public showcase

The biggest achievement was not building something new, but finishing and shipping a project that had been incomplete for months.


My Experience with GitHub Copilot

While the original version of this project was built without GitHub Copilot, this challenge encouraged me to revisit and refine my work more carefully.

My focus during this challenge was improving documentation, polishing presentation, organizing the repository, and making the project publicly presentable.

This experience reinforced an important lesson: finishing and maintaining projects is just as valuable as starting them.


What I Learned

  • How to build location-based applications using MongoDB geospatial queries
  • How to implement real-time communication using Socket.IO
  • The importance of proper project documentation
  • The value of revisiting and completing unfinished projects
  • Why shipping a working product matters more than unfinished ideas

Future Improvements

  • Real OTP verification system
  • User authentication
  • Chat history storage
  • User profiles
  • Rating and trust system
  • Fraud reporting features

Note

This project is a prototype system. Advanced security and fraud prevention features are planned for future updates.


Conclusion

ExchangeCash started as an unfinished prototype and became a completed, documented, and publicly deployed project through the GitHub Finish-Up-A-Thon.

This experience taught me that completing a project is often harder—and more valuable—than starting one.

Top comments (0)