Skip to content

A modified version of an existing project which allows you to keep track of your shopping list and supermarkets in your local area. The app was originally made with vanilla React-Native app but this project was upgraded with the Expo managed workflow.

Notifications You must be signed in to change notification settings

sengho66/Shopping-List-Assistant-With-Expo

Repository files navigation

Shopping-List-Assistant-With-Expo · GitHub license PRs Welcome style: styled-components

This repository consists of a modfied version of a mobile I made during my final year at University Centre Rotherham (UCR), it was created as part of a mobile application unit.

As part of the README file it will describe and explain the following sections:

  • Purpose
  • Core features
  • Technologies used
  • Getting started
  • Contributing
  • Project information

Purpose

The overall purpose of this React-native mobile application is to allow users to add a nd track items in relatime through GPS tracking.

To enable tracking items will need to be added to the shopping list, once items are present background tracking will be enabled. With an item being present in a shopping list it will now be tracked, once an item is present in a shopping list it will be tracked. Now when an item is found you will be alerted through the use of a push notification.

For a full breakdown of the mobile application features checkout the core features breakdown below.

Getting started

  • Dependency installation

    • Issue npm install -g expo-cli to install the expo-cli tools required to run the mobile app

    • Issue npm install to install all the core dependencies (See Technologies used section)

    • Issue 'yarn install' to install all dependencies with yarn (Requires yarn to be configured)

  • Running the development enviroment:

    • Go to the cloned repositories location in the terminal
    • Run expo start (This will take a long time on the inital build, but the second time around it will take seconds)
    • The project and Expo dev tolls will then load. You have successfully setup the mobile development enviroment

Technologies used:

Contributing

Reporting issues

If you find any problems while using the API, report them here, and I will address them as quick as I can.

Feature requests

If you would like to request features for future versions of the application again, please post them here. When posting ideas ensure the functionality is explained to provide any developers contributing to the project know what to implement.

Todo list

Features Todo list

  • Create shopping lists
  • Delete shopping lists
  • Edit shopping list names
  • Add items to shopping list
  • Add user-friendly modals to show error, success and loading state
  • Show error, loading, success states
  • Geo-location tracking via either RN or Expo modules
  • Integrate React-Native-Maps
  • Add basic routing via React-Navigation
  • Add Push notification support
  • Integrate Geo-Clustering engine to allow more than 100 markers to spawn
  • Remove the hardcoded locations from the JSON and integrate google maps to extract all common food items

Code Maintenance

  • Upgrade to React 16.8.3
  • Add hooks support
  • Update the SDK from v32 to v33
  • Update SDK from v33 to v35
  • Refactor setState, remove the nasty await as it doesnt return a promise and use the callback approach
  • Update React-Navigation (PAIN IN THE ASS PART)
  • Extract storage handling into reusable modules
  • Extract permissions into reusable modules
  • Extract time generation into it's own reusable module
  • Improve error handling for permissions, specifically the GPS and push notifications

Project Information

Author information

Alex Machin

If you want to connect with me on my professional social network platforms feel free to use the links located below, but please don't abuse them.

Mobile app version

The application is currently at version 1.1, with each feature added it will increment based on these guidelines

Project Licence information

This project is licensed under the MIT License, for more details about the API refer to the LICENCE.md file located within the project.

About

A modified version of an existing project which allows you to keep track of your shopping list and supermarkets in your local area. The app was originally made with vanilla React-Native app but this project was upgraded with the Expo managed workflow.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published