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.


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.

Tech used
- CSS
- Express
- EJS
- PostgreSQL
- Express-Validator
- Railway (PaaS)
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.

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