React/Redux Project
Tags: codenewbie, react, redux, javascript
Published: 2020-04-21 19:47:22

Thank you for being here! 

Evergoal was built using a Rails API back end, which the front end, built with React/Redux, communicates with. 

**Why a goal tracking app?**

As a busy mom and wife, I often put my own goals to the side. I wanted to create a place to quickly record my own goals and be held accountable for working toward them. Enter, Evergoal! With simplicity at the forefront, I created an app to add new goals, as well as objectives, as actionable steps to keep up the forward momentum. Click a satisfying check to show an objective achieved or delete it entirely to replace it.

**Language and skills implemented**

I built this project using a Rails API for the backend and React/Redux for the frontend. My toolset included Visual Studio Code (editor/terminal), GitHub (to store my repository), as well as Postgres for my database. I also incorporated Semanic UI React to add styling to the app. 

**Feature Highlight** 

It's a technological age, and this app has the basics at your fingertips. The ease of use and the simplicity of the tool is it's bright spot. No distractions - add a goal, set your objectives, and track your progress. Simply, quick, no excuses not to use this to track real goals.

**Hurdles Jumped** 

The biggest hurdle was following my error messages. I always sweat a lot over errors that show up in the console - they represented failure or a huge headache.

Throughout this project, I slowed down and took a different view. Those error messages could guide me toward a mistake I made or a fix I needed to make. And that is GOOD. That is not sweat-worthy, that's praise-worthy!

Still tough, but I took one of my coaches' advice (which he repeated to me often because I still needed to hear it!):
# Look small, then expand your view.
I didn't always know where to look or what to look for, so I told myself to start small. Read the error message and go THERE, to that line. It may not be the exact issue (errors aren't THAT helpful all the time), but it's a great start, a great clue for where to look next. 

This mindset got me out of jams I couldn't believe I'd gotten myself into. Whether it was a route that couldn't be found (ceate instead of create - oh my!) or props not being passed properly, those error message and starting small got me moving.

**What's Next**

My ultimate goal was to build a program that was relatively functional all along - and to cement my understanding of Redux (very confusing to learn!). I was able to do both (mostly!) and ended up with a really simple but functional app. For one. Person. Which right now is me.

I do have a wish-list for when time becomes more abundant:

1) I would like to add login functionality, so that multiple users can take advantage of this app. Login functionality was a nice-to-have while building this, but it's something I do want to add.
2) I'd like to add an edit function - to edit the goal name and to edit any objective. Instead of deleting and starting over, a user could simply click, edit and save.

To see it for yourself, head here: [GitHub](https://github.com/AnnaWijetunga/evergoal-frontend)

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

Connect with Me [Twitter](https://twitter.com/AnnaWijetunga) [LinkedIn](https://www.linkedin.com/in/annatattan/)