Periodic Tables

Web development
Periodic Tables dashboard

Problem Statement

Restaurants need easy-to-understand, efficient software solutions for managing reservations and seating arrangements. The challenge of this assignment was to develop a complete full-stack application to meet specific business requirements.

As my capstone project for Thinkful Academy's Certificate in Software Engineering program, my code needed to demonstrate my proficiency across the entire web development stack.

The project required implementing user story-driven features, within a test-driven development environment. This meant that functionality had to match exact specifications for test validation.

Solution Approach

I developed a comprehensive restaurant reservation management system using the PERN stack (PostgreSQL, Express, React, Node.js).

I implemented a test-driven and "bottom-up" approach, which allowed me to ensure API functionality before proceeding to frontend development. This was particularly critical to define data structure before building UI components.

I designed the application architecture to focus on core restaurant operations: accepting reservations, seating parties, searching bookings, and managing tables with real-time availability tracking.

Implementation Details

HTML/CSSJavaScriptReactNode.jsPostgreSQL

I built a REST API using Express and Node.js with a PostgreSQL database, implementing advanced API features including filtering, join tables, comprehensive data validation, and error handling.

I used Knex.js for database migrations and seeding, which were integrated into the CI/CD pipeline for automated testing and deployment.

I developed the frontend using modern React best practices with React Router for navigation and Bootstrap for responsive UI design.

Results and Outcomes

Creating a new reservation, seating it, and searching for it
All test suites passing
All test suites passing

I successfully achieved a fully functional application of my first submission, with near-perfect scores, and requiring zero revisions. The code perfectly passed comprehensive end-to-end and unit testing suites, and the reviewers remarked on the code quality and specification adherence.

The final product is lightning-fast, features an intuitive user interface with robust error handling, and overall it is suitable for real restaurant environments.

I was able to complete all my bootcamp graduation requirements on-schedule, while demonstrating my complete proficiency of modern full-stack web development.