Skip to content

prezzoapp/prezzo

Repository files navigation

Prezzo The Digital Menu for Restaurants

Getting Started

Here is a quick start guide:

git clone git@github.com:odotan/prezzo.git
cd prezzo
npm install -g expo-cli
npm install
npm start

For further setup instructions please see our Getting Started section.

Contents

⚠️ WORK IN PROGRESS | :star: COMING SOON

Not all of the below is yet fully implemented

Application Blueprint

  • Always up-to-date React Native scaffolding
  • Modular and well-documented structure for application code
  • Redux and ImmutableJS for safe and Reasonaboutable™️ state management
  • Redux Loop for Elm-style controlled side effects
  • React Navigation for awesome navigation with 60fps transitions
  • Disk-persisted application state caching for offline support and snappy startup performance
  • Clean and testable service layer for interacting with RESTful APIs
  • ⚠️ Sample app to show how to wire it all together
  • ⭐ JSON Web Token authentication
  • ⭐ Multi-environment configuration (dev, staging, production) for iOS and Android
  • ⭐ Built-in error handling and customizable error screens

Testing Setup

  • Jest for unit testing application code and providing coverage information.
  • Enzyme and fully mocked React Native for unit testing UI components
  • Utilities for end-to-end integration testing Redux state, including side effects and asynchronous actions

Development & Deployment Infrastructure

Roadmap

  • TODOMicrosoft Code Push for instant JavaScript and images update
  • TODO Crash reporting
  • TODO Android and iOS UI Testing with Calaba.sh?
  • TODO Feature flags?

Getting started

To build your own app on top of the Starter Kit, fork or mirror this repository. For serious use we recommend mirroring using these instructions, since you can't make a fork of a public repository private on GitHub. To contribute to Starter Kit development or just playing around, forking is the way to go.

First, give your application a name by running ./support/rename.sh YourAppName.

Once you have the code downloaded, follow the Setup guide to get started.

Development workflow

After you have set up the project using above instructions, you can use your favorite IDE or text editor to write code, and run the application from the command line. Turn on React Native hot module reloading in the app developer menu to update your application as you code.

To learn how to structure your application and use the Redux application architecture, read the Architecture guide for more details.

Start the application in iOS simulator
$ npm run ios
Start the application in Android simulator

(If using the stock emulator, the emulator must be running)

$ npm run android
Run unit tests
$ npm test
Run tests every time code changes
$ npm run test:watch
Generate code coverage report
$ npm run coverage

Read the Testing guide for more information about writing tests.

Debugging

For standard debugging select Debug JS Remotely from the React Native Development context menu (To open the context menu, press CMD+D in iOS or D+D in Android). This will open a new Chrome tab under http://localhost:8081/debugger-ui and prints all actions to the console.

For advanced debugging under macOS we suggest using the standalone React Native Debugger, which is based on the official debugger of React Native. It includes the React Inspector and Redux DevTools so you can inspect React views and get a detailed history of the Redux state.

You can install it via brew and run it as a standalone app:

$ brew update && brew cask install react-native-debugger

Note: Make sure you close all active chrome debugger tabs and then restart the debugger from the React Native Development context menu.

Deployment

Read the Deployment guide to learn how to deploy the application to test devices, app stores, and how to use Code Push to push updates to your users immediately.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •