React-Redux-Rails Portfolio Project
EventTracker is my Flatiron Portfolio project for React/Redux. It uses Create-React-App, as well as a Rails backend to serve the API. It incorporates React Router, along with Thunk middleware to handle asynchronous API calls.
It is a simple to use event creator. It allows the user to create events, inputting name, date, time, location and notes, and have them save to the backend and displayed on fancy cards! The user is then able to add more events, edit events, and delete events.
Setting all of this up was the real challenge. There are so many little things all working together. I imagine once you do this a few times you start getting the hang of it, but little things like hooking up Rails to React, and making sure CORS was not an issue or anything presented itself to be quite challenging right from the get-go. But once that was setup, as well as the script to run
rake start in the terminal and have it boot up the rails backend at
localhost:3001 and then boot up the npm server at
localhost:3000, we were in business!
On the React-Redux side, it felt good to finally get my actions and reducers both working hand in hand. Again, that is something that probably takes a bunch of projects to really get the hang of, so for me, this was difficult from start to finish. There were many syntax problems in both the actions and reducers that prevented the app from working all throughout the project that took me many hours to get through!
But once that all was sorted out, I was able to get the app looking a little nicer, and was able to build out more functionality. That felt good.
Overall, it was a huge learning experience and I can’t wait to get back into the it and make more stuff.
There are still a few bugs that I’d like to fix. First of all, deleting an event requires a refresh in order to show on the page. Not sure why that is, but I’d like to fix that, of course! I’d also like to be able to edit and delete directly from the cards, and not have it done on separate pages.
In future versions, I’d like to be able to add user accounts, OAuth, as well as be able to query popular event websites like Eventbrite and add them to the database of events.