Recollect
Project Overview
I built Recollect, a full-stack personal library management application, as the capstone project for my software development bootcamp. My goal was to apply everything I had learned throughout the program by independently planning, developing, and deploying a complete application that allows users to organize their personal libraries, track reading progress, and manage book loans.
I began by defining the project's scope, identifying the core features, and researching the technologies that would best support them. After designing the application's architecture, I planned the REST API and database schema before setting up an Express backend, PostgreSQL database, and React frontend. As development progressed, I implemented JWT authentication, integrated the Google Books API for book search, built CRUD functionality for library management, and added features such as book loans and user authentication.
Along the way, I adapted my approach as I encountered new challenges, including switching from Material UI to Tailwind CSS to gain greater flexibility over customizing the user interface. I also added automated API tests with Jest and Supertest for reliablity, which introduced new testing patterns for me. While I had successfully developed the application locally, I realized I had underestimated the importance of planning for deployment. Because this was my first project using PostgreSQL, I had to learn how to structure and execute SQL migration files and troubleshoot environment configuration issues before the deployed application could connect to the database correctly. Working through these obstacles strengthened my understanding of deployment workflows and the differences between local development and production environments.
Successfully deploying Recollect gave me a much deeper understanding of the full software development lifecycle—from project planning and database design through implementation, testing, and deployment. Beyond strengthening my technical skills with React, Express, PostgreSQL, authentication, and API integration, the project taught me how to approach unfamiliar problems methodically, adapt my plans, and build confidence tackling complex full-stack applications independently.
React
Express
Node.js
PostgreSQL
Tailwind CSS