/trackit

Primary LanguageTypeScript

trackit

How to run the app

To run the app, follow these steps:

  • Clone the repo
  • Install dependencies using yarn install
  • Start the app using yarn start
  • Use the Expo client app to run the app on a physical device or an emulator Note: You may need to have the Expo CLI installed globally on your system to run the app.

How to run tests

To run tests, follow these steps:

  • Make sure the app is not running
  • Run yarn test in the terminal
  • The tests should run and show the results in the terminal Note: You may need to have the Expo CLI and Jest testing framework installed globally on your system to run the tests.

Technolgies

This is a React-Native app built using Expo. The app includes the following technologies: React Navigation, TypeScript, Redux, Redux Persist, React Native Elements, and React Native Toast Message.

Expo

Expo is a development tool that makes it easy to build and deploy React Native apps. It provides a set of tools and services to help you build, test, and publish your app, as well as simplify common development tasks.

React Navigation

React Navigation is a library that provides a way to navigate between screens and manage navigation state in a React Native app. It supports various types of navigation such as stack, tab, and drawer navigation.

TypeScript

TypeScript is a superset of JavaScript that adds static typing to the language. It provides better tooling and can help catch errors before runtime.

Redux

Redux is a state management library that provides a predictable way to manage the state of your application. It helps in creating scalable, testable, and maintainable code.

Redux Persist

Redux Persist is a library that helps in persisting the Redux store to local storage. This allows the app to retain the state even after the app is closed or the device is restarted.

React Native Elements

React Native Elements is a library of UI components for React Native. It provides a set of pre-built, customizable components that can be used to quickly build a polished UI for your app.

React Native Toast Message

React Native Toast Message is a library that provides a way to show toast messages in a React Native app. It allows developers to show simple messages to users for a short period of time.

React Native Testing Library

React Native Testing Library is a library that provides a set of utilities for testing React Native components. It allows developers to write tests that closely resemble how the user interacts with the app.

Future improvements

  • Allow to edit the categories of existing activity.
  • Add backend and save data to the cloud (Firebase could be a good option).
  • Allow to include a text for each activity.