GithubHelp home page GithubHelp logo

cybernetics / universalrelayboilerplate Goto Github PK

View Code? Open in Web Editor NEW

This project forked from stevenornelas/universalrelayboilerplate

0.0 1.0 0.0 2.75 MB

Boilerplate + examples for React Native (iOS, Android), React (isomorphic, Material-UI), Relay, GraphQL, JWT, Node.js, Apache Cassandra

Home Page: http://codefoundries.com/products/UniversalRelayBoilerplate.html

Python 0.54% Java 0.41% JavaScript 92.51% HTML 5.09% Objective-C 1.43% CSS 0.01%

universalrelayboilerplate's Introduction

Twitter URL GitHub license StackShare

Universal Relay Boilerplate (URB)

Boilerplate + examples for React Native (iOS, Android), React (isomorphic, Material-UI), Relay, GraphQL, JWT, Node.js, Apache Cassandra.

Project Overview.

Project Details.

Live demo.

Updates and Announcements

Please follow @CodeFoundries and our blog if you are interested in news about the boilerplate.

Technologies used in Rebar and Universal Relay Boilerplate

For the most up to date list of technologies used please go to CodeFoundries.com.

Client side

Technology Description
React JS Library for building Single Page Applications and apps. Often called the 'V' in the MVC model.
react-router React Router keeps your UI in sync with the URL. It has a simple API with powerful features like lazy code loading, dynamic route matching, and location transition handling built right in. Make the URL your first thought, not an after-thought.
React Native React Native enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React.
react-native-router-flux Router for React Native based on new React Native Navigation API.
Relay A Javascript framework for building data-driven react applications.
Material UI Library for implementing Material Design in React. All user interface in this kit is built exclusively with Material UI components.
material-ui-country-flags Library with flag icons for Material-UI, used for the language selector.
material-ui-credit-card-icons Library with icons for all major credit cards.

Server side

Technology Description
Node.js Event-driven, non-blocking I/O runtime based on JavaScript that is lightweight and efficient.
GraphQL A query language created by Facebook in 2012 for describing the capabilities and requirements of data models for client‐server applications.
GraphiQL An graphical interactive in-browser GraphQL IDE. It allows to test the entire schema provided by GraphQL and can be an excellent tool for exploring the boilerplate, as well as a part of applications built on top of it.
Express GraphQL A Node.js express library that allows the creation of GraphQL servers.
Isomorphic Relay Adds server side rendering support to React Relay. The boilerplate fully utilizes this library.
Data Loader Generic utility to be used as part of your application's data fetching layer to provide a consistent API over various backends and reduce requests to those backends via batching and caching.
Apache Cassandra The right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive regional outages.
JWT JSON Web Tokens is an industry standard RFC 7519 method for representing claims securely between two parties.
React Helmet Reusable React component will manage all of your changes to the document head with support for document title, meta, link, script, and base tags.

Development tools

Technology Description
Flow Static type checker, designed to find type errors in JavaScript programs.
ESLint Pluggable linting utility for JavaScript and JSX.
Babel Compiles ES6/ES7 to ES5. Allows using features from ES6 and ES7 today. Also, used by Relay.
Webpack Bundles npm packages and the application Java Script into a single file. Includes hot reloading via react-transform-hmr. Also, Webpack can bundle any required CSS.
NPM Scripts Glues all this together in a handy automated build.

Development Setup

For the most up to date setup instructions please go to CodeFoundries.com.

Initial Development Machine Setup

The setup is for OS X only. Prerequisites:

Initial Project setup on local machine

In order to set up the project locally, perform the following steps:

  • Clone from github. git clone https://github.com/codefoundries/UniversalRelayBoilerplate.
  • Install node packages. npm install. You will see errors like Error: ENOENT: no such file or directory, open '.env'.. They can be ignored.
  • Perform initial setup. npm run setup-local.
  • Specify JWT_SECRET by modifying the .env file. This step can be skipped if you do not care about the actual security and simply want to get the project running.
  • Start the server. npm run prod or npm run dev.
  • The application is available at: http://localhost:4444.

Running in development mode

Two separate servers need to be started. The first one is the actual application in development mode. The second server is the webpack server which is to be run at all times for hot replace. This can be done with one command.

  • Start application HTTP and Webpack server: npm run dev.

To open the app:

  • Navigate to http://localhost:4444, unless you specified a different IP and/or port either manually or by using npm run update-ip.

Configuring to use Cassandra

  • Install and configure Cassandra following the steps in Cassandra Installation on Mac.
  • Verify that the name of the database in \.env is the name of the database you want.
  • Create the database with npm run setup-cassandra-init.
  • Configure to use Cassandra with npm run update-da-cassandra.

Further Details

We keep the information about the Universal Relay Boilerplate and Rebar updated on our website:

Additional Information About the Boilerplate

Architecture Details

The following documents explain in detail certain aspects of the architecture in depth:

Additional resources

The following documents, while not explicitly related to the boilerplate, can be useful while running and modifying the kit:

universalrelayboilerplate's People

Contributors

ncrmro avatar thelordoftheboards avatar wtgtybhertgeghgtwtg avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.