Autosales

Description

Autosales is an inventory management style application where users can add makes and models into the database. Models can by be viewed by their corresponding categories and their details updated if the password is known.
Destructive actions such as deleting or updating are password protected.

Autosales website homepage displayed on Iphone 14 Pro Autosales website updating car model displayed on Iphone 14 Pro

Objective

The goal with this project was implement CRUD (Create Read Update and Delete) methods across a relational database including categories and inventory items.
In this scenario I chose cars, however the skills I learnt through this project are applicable to other businesses, e-commerce or even internal systems that handle inventory.

Car details can been viewed in a purpose-built modal, providing larger images and more information for users.

Tech used

PostgreSQL handled data persistence and user entries in a relational database. To simplify raw SQL queries, I created functions for my controllers. EJS templates with pages and partials saved time by reusing templates and populating them with relevant data.


Hosting on Railway (PaaS) was ideal. It streamlined deployment from my GitHub repository, hosted my PostgreSQL database, and made setting up environment variables easy. The project loads quickly, unlike other platforms I noticed were slower.

A responsive CSS grid layout shows a broad selection of cars and adapts to mobile devices

Challenges

Handling raw SQL was challenging due to potential typos. I solved this by using variables to store SQL queries as strings for my functions. Deciding on the project structure and reusing EJS templates for multiple categories was another challenge. Ensuring users returned to their last viewed category after updates was also crucial for a good user experience.

Let's Keep in Touch

If you're after a developer for your next project, have something you'd like to ask or just want to stay in touch, feel free to reach out.

ruuksine@gmail.com