Skip to content

Mobile app build with React Native and AWS Amplify (GraphQL)

Notifications You must be signed in to change notification settings

LevMartens/straight-line

Repository files navigation

About The Project

Straight Line

Straight Line is a game where the objective is to walk a line through a rough terrain as straight as possible. The gps will track how much you deviate from the set line and will give you a score in the end.

Technical Stuff

Build With

  • React Native
  • Expo
  • Graphql
  • AWS Amplify
  • Redux
  • Codemagic CI/CD
  • Material UI
  • react-native-maps
  • react-native-paper
  • lodash

Architecture

Screen Shot 2022-01-12 at 12 08 04 pm

Presentation

The presentation layer handles only user input and data display, there will be no other logic in the presentation layer. User input and useEffect functions will always call a use case function wereby the use case function handles the data.

Example:

Screen Shot 2022-01-12 at 1 15 48 pm

Domain

Use case functions do 3 main things: Fetching data, error handling and modifying data so it's compatible with the UI components. The use case functions use generator and helper functions to modify the data, this keep the use cases concise and easy to read.

Example:

withcom

Resources

The Resource layer handles the actual data fetching. From local sources we get screen dimensions and gps data with the help of expo libraries, from remote sources we get weather data or geographical data (elevation) or data from the AWS backend with GraphQl.

Example:

Screen Shot 2022-01-12 at 2 13 58 pm

The App

Welcome Screen | Explore Screen

Screen Shot 2022-01-12 at 2 48 08 pm | Screen Shot 2022-01-12 at 2 50 19 pm

Create Line Screen | Detail Screen

Screen Shot 2022-01-12 at 2 54 21 pm | Screen Shot 2022-01-12 at 2 56 53 pm

Live Screen | Review Screen

Screen Shot 2022-01-12 at 3 00 04 pm | Screen Shot 2022-01-12 at 3 00 28 pm

About

Mobile app build with React Native and AWS Amplify (GraphQL)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published