Dispatcher enables consumers to receive any item from local businesses, saving them time and providing additional convenience
For clientside app (iOS):
- npm install
- react-native run-ios
For backend API: If running locally:
- bundle install
- rails s
Otherwise, you can deploy to Heroku and use that public endpoint instead of the local server.
- This is the directory for the API we built with Rails 5.0
- Most of the endpoints and logic is within /app/controllers
- DB migrations are in /db/migrate
- Models (with associations) are in /app/models
- Used to create cross platform apps. Can be deployed to iOS, Android, Desktop, Web.
- ES6 JavaScript is heavily used.
- Really hard/inpractical to test UI, however.
- A react native library that makes managing react native states much more easier.
- Introduces 3 powerful concepts:
- Single source of truth: The state of your whole application is stored in an object tree within a single store.
- State is read-only: The only way to change the state is to emit an action, an object describing what happened.
- Changes are made with pure functions: To specify how the state tree is transformed by actions, you write pure reducers.
- These 3 concept s sets up the project structure for our app.
- Helps manage any side effects, such as asynchronous calls, API calls, background service
- Saga runs a task (usually in response to seeing an action called) in the background. Once the task finishes, saga emits a new action that redux handles.
The project structure is setup to match the redux core components. In the app/
folder you will find the following:
- actions
- reducers
- sagas
- components
- containers
- lib
The
app/
folder is where our source code lives. Everything else is autogenerated. Almost every one of these folders has anindex.js
file. This is used to combine all the other files when a developer imports that folder.
- An action is a payload of information sent to the redux store.
- An action creator is a function which creators actions.
- More info: http://redux.js.org/docs/basics/Actions.html
- Everything in this folder defines a specific piece of the app UI.
- Provide the data and behavior to presentational or other container components. (Source: https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0#.ts5oqvf3t)
- Just like containers except they are strictly presentational. They don't modify state, just present it.
- A folder full of useful helper functions.