Fullstack Book Trader App Retrospective


The fullstack book trading app allows users to add some of their personally owned books to a centralized lending library. They can also request to borrow another user's book and get notifications if they have a pending request for one of their own books and even approve those lending requests. It uses the Google Books API to allow users to search for their personal books to add to the library.

The app is built with static HTML/CSS pages on the front end. I use vanilla JavaScript to do any interactivity on the front end and to make API calls to either Google Books or the backend of the application. The backend is written in Express/Node and the data store is a MongoDB database with Mongoose.

Code Review

After really enjoying working on the Stock Market Ticker app with ChartJS and socket.io, this return to fullstack work was a slog. I don't recall any considerable troubles I had with this application. Things started to feel pretty straightforward by this point.

That isn't to say that I feel I wrote this application particularly well. There are still lots of things that could be improved here. It just wasn't the same level of wrestling that the Voting app and Nightlife Coordination app were.

Future Improvements

It's unlikely that I revisit this application to make any changes, but there are a few known deficiencies. The front end of this application is pretty dull looking. It could use some sprucing up. It appears that in the time since I finished this application that something has broken with requesting a book. So that should get fixed up. This app still needs the same authentication improvements that the other full stack apps need.

  • Spruce up the colors/design of the client side interface
  • Figure out what causes the event.srcElement is undefined error
  • Implement a complete authentication with something like PassportJS, oAuth, or JWT.