DEV Community

Anna Wijetunga
Anna Wijetunga

Posted on

JavaScript Project

Thank you for being here! Originally publish in March of 2020!

This project is a single page application (SPA) built using a JavaScript frontend and a Rails API backend.

Why a home maintenance app?

As a home owner, there are more projects than days of the year - most of which aren't urgent but do need attention. Say hello to Fixit, a home maintenance app designed for renters or owners to track what needs to be attended to around the home.

Language and skills implemented

I built this project using a Rails API for the backend and JavaScript for the frontend. My toolset included Visual Studio Code (editor/terminal), GitHub (to store my repository), as well as Postgres for my database.

Feature Highlight

Each user who interacts with this app gets to add their family (or roommate) information as well as any home projects that need attention. It's a very simple way to store tasks that might not get done immediately but do need to get done. A user can update the status of any project - whether it's complete or incomplete - and have a very quick look at which project they'd like to target next.

Hurdles Jumped

I thought building a Rails app was complex, but I think this one took the cake. Troubleshooting this app's code was a real hunt at times, and I found it hard to get into a routine.

The biggest hurdle was making sure I understood exactly where the issue was located. When an error message appeared or when the app wasn't responding in the intended way, I first had to ask, is this a backend or frontend issue? If it had to do with models, controllers, serializers or routes, check the backend. If it had to do with the app's behavior or what a button should be doing, check the frontend.

Toggling back and forth between backend and frontend meant moving more slowly and taking baby steps to figure out 1) where to look and 2) how to solve the issue. There was only one thing that really helped me keep moving:

Experiment.

I didn't always know where to look or what to look for, so I told myself to just try something. Any movement means progress - even if I'm figuring out what's not the issue, at least it's one clue.

What's Next

My ultimate goal was to build a program that was relatively functional all along. But my secondary goal was to add an interative quality - and the pop-up buttons served that purpose. Something to really showcase that the page didn't need to refresh to show new data.

Having accomplished both, I do have a wish-list for when time becomes more abundant:

1) All families and all projects are accessible to anyone. To make this more private and more accessible to more families, I would create a login so you could only see your own family name and your own projects.

To see it for yourself, head here: GitHub

Thanks so much for reading through! To comment or get in touch, please see the links below. - Anna

Connect with Me Twitter LinkedIn

Top comments (0)