Skip to content

gusma/digbang-coding-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Digbang Coding Challenge || Gustavo Malamud

This project was initially bootstrapped with Create React App and then modified to taste. It's based on the requirements of the Digbang Coding Exercise.

This particular exercise was performed by Gustavo Malamud

💻 Stack Used

The following technologies were used for this app:

  • Create React App (previously mentioned)
  • React Hooks
  • UseBetween as a state sharing tool (ContextAPI would probably have been overkill for this)
  • SCSS for CSS pre-processing and variable declaration,
  • BEM for some if not most of the CSS declarations,
  • Flexbox for layout distribution,
  • PropTypes (a little bit since our AppContainer squealed a little bit over the contents of the {children} element)
  • A couple of helper functions to shape and format the currency inputs better and do some calculations,
  • React-Currency-Format as our handler for currency based inputs,
  • And a little bit of ESLint and Prettier for validating proper functioning and cleanliness of the raw code.
  • RC Slider as per the project's requirements.

💡 Guiding Idea

The idea behind the structure of this app was to keep the application as compartimentalized as possible, while maintaining some kind of bond within the components in the shape of state being shared for two main elements: the credit amount balance, and the interval it would be spread in.

⚡ To run this project

Please use this with Yarn. Not that this wouldn't work with NPM, we're just better friends with Yarn on this exercise.

To run, clone this repo, and first, run:

yarn install

and then:

yarn start

Open http://localhost:3000 to view it in your browser.

✈️ Deployment

This project was deployed to Vercel.

✏️ To-Dos

As a part of this project and due to time constraints I would have like to do a couple more things with this, namely:

  • Unit testing through Jest+Enzyme
  • E2E or Integration Testing through Cypress
  • Move this to SSR through NextJS.
  • Ellaborate a mobile friendly PWA.
  • Refactor to Typescript.