Snowflake

screenshot of Snowflake
react
react-native

:snowflake: A React-Native Android iOS Starter App/ BoilerPlate / Example with Redux, RN Router, & Jest with the Snowflake Hapi Server running locally or on RedHat OpenShift for the backend, or a Parse Server running locally or remotely on Heroku

Overview

The Snowflake mobile app is a React-Native starter app that serves as an example or boilerplate for iOS and Android. It allows for development with a single codebase and offers two backend options: Hapi server or Parse server.

Features

  • React-Native mobile app for iOS and Android.
  • Single codebase for both platforms.
  • Two backend options: Hapi server or Parse server.

Using Snowflake Hapi Server

To use the Snowflake Hapi Server:

  1. Use the local or remote Snowflake Hapi Server.
  2. Copy the src/lib/config.example.js to src/lib/config.js.
  3. Choose the desired backend by setting hapiLocal or hapiRemote in the config.js file.
  4. Follow the instructions at https://github.com/bartonhammond/snowflake-hapi-openshift to run Hapi locally (requires installation of MongoDB and Redis).

Using Parse Server

To use the Snowflake Parse Server:

  1. Use the Snowflake Parse Heroku Server (hosted at https://snowflake-parse.herokuapp.com/parse) or set up a local instance of parse-server.
  2. Copy the src/lib/config.example.js to src/lib/config.js.
  3. Choose the desired backend by setting parseLocal or parseRemote in the config.js file.
  4. Follow the instructions at https://github.com/ParsePlatform/parse-server-example to set up parse-server.

Summary

The Snowflake mobile app is a React-Native starter project that provides a codebase for developing iOS and Android apps. It offers two backend options: Hapi server and Parse server. The installation process involves installing React-Native, cloning the Snowflake repository, and setting up the desired backend according to the provided instructions.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

react-native
React Native

React Native is a framework for building mobile applications using React and JavaScript. It enables developers to write once and deploy to multiple platforms, including iOS, Android, and the web, while providing a native app-like experience to users.

docker
Docker

A website that uses Docker for containerization to streamline development, testing, and deployment workflows. This includes features such as containerization of dependencies, automated builds and deployments, and container orchestration to ensure scalability and availability.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

Redux

Redux is a state management library for JavaScript apps that provides a predictable and centralized way to manage application state. It enables developers to write actions and reducers that update the state in response to user interactions, server responses, and other events, and can be used with a variety of front-end frameworks and back-end technologies.