This project was bootstrapped with Create React App, Custom Template, using the Redux and Redux Toolkit template.
This project is using nvm. If you use nvm just to execute nvm use
for installing the rights NodeJS and NPM version.
If you are not a user of nvm, you will be able to check the file .nvmrc
$ git clone [email protected]:wzalazar/demo-reddit.git
$ cd ./demo-reddit
$ yarn
$ yarn start
script | description |
---|---|
start | Runs the app in the development mode. |
build | Builds the app for production. |
test | Launches the test runner in the interactive watch mode. |
lint | Lint the project. |
semantic-release | Generate semantic release, only for CI |
codecov | Push de coverage to codecov, only for CI |
I created a Project board for tracking my tasks.
https://github.com/wzalazar/demo-reddit/projects/1
-
Typescript: I choose typescript due that is a better way to create javascript applications. Is javascript with steroids.
-
Redux: I choose redux due to is the "king" of the state management. Single path of truth.
-
Styled Components: I choose styles-components because I think is the better way for creating isolated components.
-
React Testing Library: I choose testing-library because this brings an effective way of creating an integration test, and resilient tests.
-
Semantic Release: I choose semantic-release for adding versioning in the project.
-
Github actions: I choose Github Actions for adding Quality assurance in the project.
-
Github Project board: I choose the Github Project board due is a great tool for tracking the tasks and have historical progress.
-
Renovate: I choose to use the tool renovate for updating my dependencies, this update will have to pass all tests before the merge.
-
Testing: I choose to create more integration tests over unit tests for covering my project. With the integration test, I'm ensuring the scenarios are working fine with all components.