https://github.com/jakepartusch/cafe-todo-app
Todo app for the Mammel Hall Cafe
https://github.com/jakepartusch/cafe-todo-app
Last synced: 10 months ago
JSON representation
Todo app for the Mammel Hall Cafe
- Host: GitHub
- URL: https://github.com/jakepartusch/cafe-todo-app
- Owner: JakePartusch
- License: mit
- Created: 2016-07-21T22:01:14.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2016-08-05T04:18:08.000Z (almost 10 years ago)
- Last Synced: 2025-03-12T02:38:38.084Z (about 1 year ago)
- Language: JavaScript
- Homepage: https://cafe-todo-app.firebaseapp.com/open
- Size: 55.7 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://circleci.com/gh/r-park/todo-react-redux)
# Todo app with React, Redux, and Firebase
A simple Todo app example with **undelete** capability — built with React, Redux, and Firebase.
Try the demo at https://todo-react-redux.firebaseapp.com.
A version of this app built with [redux-saga middleware](https://github.com/yelouafi/redux-saga) is available [here](https://github.com/r-park/todo-redux-saga).
## Stack
- React
- React-Hot-Loader `3.0.0-beta.2`
- React-Redux
- React-Router
- React-Router-Redux
- Redux
- Redux-Thunk
- Redux-Devtools-Extension for Chrome
- Firebase SDK 3 with OAuth authentication
- Babel
- Immutable
- Reselect
- SASS
- Webpack
Quick Start
-----------
```shell
$ git clone https://github.com/r-park/todo-react-redux.git
$ cd todo-react-redux
$ npm install
$ npm start
```
## Deploying to Firebase
#### Prerequisites:
- Create a free Firebase account at https://firebase.google.com
- Create a project from your [Firebase account console](https://console.firebase.google.com)
- Configure the authentication providers for your Firebase project from your Firebase account console
#### Configure this app with your project-specific details:
```javascript
// .firebaserc
{
"projects": {
"default": "your-project-id"
}
}
```
```javascript
// src/core/firebase/config.js
export const firebaseConfig = {
apiKey: 'your api key',
authDomain: 'your-project-id.firebaseapp.com',
databaseURL: 'https://your-project-id.firebaseio.com',
storageBucket: 'your-project-id.appspot.com'
};
```
#### Install firebase-tools:
```shell
$ npm install -g firebase-tools
```
#### Build and deploy the app:
```shell
$ npm run build
$ firebase login
$ firebase use default
$ firebase deploy
```
NPM Command Summary
-------------------
|Script|Description|
|---|---|
|`npm start`|Start webpack development server @ `localhost:3000`|
|`npm run build`|Lint, test, and build the application to `./target`|
|`npm run dev`|Same as `npm start`|
|`npm run lint`|Lint `.js` files|
|`npm run server`|Start express server @ `localhost:3000` to serve build artifacts from `./target` (must run `npm run build` first)|
|`npm test`|Run unit tests with Karma and Jasmine|
|`npm run test:watch`|Run unit tests with Karma and Jasmine; watch for changes to re-run tests|