https://github.com/hoodsy/3ree-auth-example
An example full stack, realtime Javascript app with React, universal Redux, RethinkDB, and Express (3REE).
https://github.com/hoodsy/3ree-auth-example
hmr oauth passports react realtime redux rethinkdb socket-io webpack
Last synced: about 1 month ago
JSON representation
An example full stack, realtime Javascript app with React, universal Redux, RethinkDB, and Express (3REE).
- Host: GitHub
- URL: https://github.com/hoodsy/3ree-auth-example
- Owner: hoodsy
- Created: 2016-02-23T03:40:48.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-03-29T01:12:17.000Z (about 8 years ago)
- Last Synced: 2024-10-27T13:00:45.281Z (6 months ago)
- Topics: hmr, oauth, passports, react, realtime, redux, rethinkdb, socket-io, webpack
- Language: JavaScript
- Homepage:
- Size: 224 KB
- Stars: 79
- Watchers: 7
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-rethinkdb - auth sample project
README
# 3Ree Auth
An example full stack Javascript app with **React**, **universal Redux**, **RethinkDB**, and **Express** (3REE). Oh, and **Webpack** with **HMR** and **Babel** behind the scenes, too.
Also includes authentication via Passport, realtime updating via RethinkDB Changefeeds and Socket.io, and server side rendering.
### App Overview
##### Description
This application allows *Users* to create *Organizations*, which can hold *Dashboards* full of *Lists* of *Resources (URLs)*, which update in realtime.This application is still a WIP - as a result, actions such as editing/deleting resources or lists individually are incomplete.
##### App Architecture

##### DB Table Relationships
### Installation and Setup
##### Repo and Dependencies
1. Download the project: ```git clone [email protected]:hoodsy/3ree-auth-example.git```2. Install dependencies: ```npm install```
##### RethinkDB
3. Install [RethinkDB](https://www.rethinkdb.com/docs/install/)4. Run RethinkDB from outside the project: ```rethinkdb```
*RethinkDB will create a data folder in place - these files shouldn't be included in the project*5. Open a new terminal window and init the DB, tables, indexes: ```npm run init```
##### Running
6. Simply run: ```npm start``` and navigate to localhost:3000##### OAuth
OAuth keys for Google and Facebook do not come included in this project - simply add your keys to ```server/config/passport/keys.example.js``` and rename the file to ```keys.js``` to use OAuth.