/project9b-diary-app

This diaries web app is built to learn and demonstrate the use of Redux Toolkit in a practical real world project. The app is developed with react using typescript, redux for state management, Material-UI for UI, and MirageJS for fake API/backend.

Primary LanguageTypeScript

Project 9B: Diaries App Using React and Redux Toolkit with TypeScript

This project was bootstrapped with Create React App. It was created for submission in Pana Cloud Bootcamp 2020.

Link to Web App

The web app has been deployed to Netlify, and can be accessed here.

Features

The following are some of the features of this project:

  • Uses Redux for state management
  • Uses Async Thunks in redux slices for handling API requests
  • Uses MirageJS as a fake API for the app
  • CI/CD pipeline with Github Workflows
  • Completely typed with Typescript
  • Completely interactive and responsive design with Material-UI components.

Learning Outcomes

The following are some of the learning outcomes of this project:

  • Using Redux for state management
  • Creating an API mocking server with MirageJS
  • Separating API calls from components making them more readable and concise using Async Thunks in slices
  • Using Formik to create forms without boiler plate code
  • Using Yup for form validation in a concise and declarative way
  • Using Typescript to develop a typed web app
  • Building a web app with React.JS, React Icons, Material-UI, Redux Toolkit etc.