Deployed App URL: https://budimir-sample.firebaseapp.com
Last.fm navigator sample.
It is but a simple artist navigator, build with React/Redux.
Backend uses Firebase for auth and its RealtimeDB for saving user-specific data.
It's been bootstrapped using create-react-app
.
Optionally, local server (NodeJS) & DB (MongoDB) might be added later.
Commands:
yarn
ornpm install
to install dependenciesyarn start
ornpm run start
to start project locallyyarn test
ornpm run test
to run Jest unit testsyarn test:coverage
ornpm run test:coverage
to check for test coverage on projectyarn storybook
ornpm run storybook
to run Storybook dev environmentyarn pre-commit
ornpm run pre-commit
to run pre-commit hookyarn build
ornpm run build
to build production versionyarn deploy
ornpm run deploy
to deploy project fully on Firebase hostingyarn deploy:host
ornpm run deploy:host
to deploy build folder to Firebase hosting
- Project can be modified to use external module, such as
react-redux-firebase
if codebase will grow.
- Fix favorite action
- Organize
findArtist()
,fetchArtist()
andsetArtist()
functions better - Drop classes for functional components & recompose/hooks
- Integrate styled-components v5
- Reorganize folder structure
- Add
redux-saga
and finish missing logic - Add memoization when applicable (selectors, effects)
- Add proper typechecking/test/storybook coverage [in progress]
- Deploy to custom host and integrate CI/CD optional