If you're a surfer, you know time consuming it can be to search for used boards on FB marketplace and other marketplaces. These application aims to solve that and make it a bit easier to find a board. It aims to solve those inefficiencies by offering practical filtering of the marketplace. No more having to check every post to see if it's what you're looking for.
A user opens the application and signs in. From there, the user can browse and search the for-sale boards. They can filter boards by characteristics (length, volume, etc.) or can search by location. A user types in any location and a radius they want to search. All users who have their location within that range, will have their postings show up on the page (This means a posting's location pointing to the user's location).
If a user finds a board they like, they can like on the posting to see more info and have the ability to start a chat with the seller.
The user can also view their own postings, delete or update them, and update their location. There is also a page to view their messages and a page to create a post.
This is very straightforward and tries to be as simple and convienent as possible.
Front-end: Typical create-react-app proj.
git clone
, npm install
, then npm start
back-end: install dependencies and run nodemon bin/www
or just use node exe
messaging-service: express server. see above.
sql-server: contains scripts for creating the DB with schema and generating realistic fake data.
I'm using React and Tailwind for the front-end. The back-end currently consists of two Node.js servers using Express, one for general posting and user data CRUD operations, and a messaging service that handles all real-time chat communication using socket.io
. These services both communicate with one MySQL database. This is currently running locally, but willing probably setup a new DB in AWS RDS.
I use an external API for geocoding.
I'm currently finishing the last of the core features: real-time persistent chat system
After that, I'll be doing testing it, cleaning the codebase, touching up styling, and then moving from a test environment to a hosting platform.