Skip to content

Solution to React/Ruby on Rails Challenge - #1

Open
jasontumusiime wants to merge 13 commits into
masterfrom
task
Open

Solution to React/Ruby on Rails Challenge #1
jasontumusiime wants to merge 13 commits into
masterfrom
task

Conversation

@jasontumusiime

@jasontumusiime jasontumusiime commented Jan 21, 2021

Copy link
Copy Markdown
Owner

This is a spike for a solution to the OneMob React/Ruby on Rails Challenge for the Full-stack developer position.

[WIP] Adding automated tests. My apologies, I started this challenge quite late due to ongoing countrywide elections that caused interruptions. I skipped writing automated tests to have a quick solution up and running. I usually do not do this for production code.

@dzivalli I'm tagging you here so that you can take a look at this solution. Your comments will be greatly appreciated. I have tested the solution on a development server. I am working on adding automated tests for its own sake, however, you can send me any feedback immediately.

To run the application locally. You may follow the following steps after cloning or pulling changes on task branch:

$ bundle install

$ yarn install

$ rails db:migrate

$ rails s

The application uses ActiveStorage localstorage for image uploads and inmemory sqlite database.

Areas of improvement:

  • Add automated tests for React and Rails API
  • Add some custom react hooks to encapsulate some state and logic in App Component

Notes:

  • This challenge is too small for redux state management. However, it was utilized to show knowledge of redux among other state libraries like recoil, xstate, mobx. It also presented a chance to demonstrate usage of React hooks APIs like useState, useEffect, useDispatch and useSelector which make state management flexible as the app starts scaling.

Your feedback greatly appreciated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant