feathers-starter-react-redux-login-roles
feathers-starter-react-redux-login-roles copied to clipboard
Production ready starter package. Local auth, roles; React-Router auth. Easily use Feathers services with Redux.
DEPRECATED. Goodbye, adiós, au revoir, auf Wiedersehen, zàijiàn. Time has passed this repo by. Bye!
feathers-starter-react-redux-login-roles
Production ready starter package. Local auth, roles; React-Router auth. Easily use Feathers services with Redux.
The goal is to support a 100% integration of Feathers and Redux, within production quality boilerplate, so you can focus on your app development. A local auth UI is provided for use, and as a working example of Feathers + Redux integration.
Requirements
- Windows or Linux builds now working
- Minimum node Version 6.9.0
- npm versions (3.10.8)
Features
- Designed as a foundation for building commercial applications used in production.
- Local authentication including email verification, forgotten passwords, change email, password, etc.
- Transactional email notifications.
- User roles for authorization, including authorization of React routes.
- UI for user authentication and authorization.
- Feathers DB and custom services are dispatched to Redux for 100% compatibility.
- Async server verification for the UI, as well as client-side verification.
- Share UI verification code between client and server.
- Hierarchical, dynamic app configuration for server and client.
- Logging from both server and client.
Server contains
- [x] Feathersjs with Express.
- [x] Feathers-rest to implement a REST API.
- [x] Feathers-socketio for socket.io transport.
- [x] Feathers-service-verify-reset adds email verification, forgotten password reset, etc. to local feathers-authentication.
- [x] Feathers-hooks-validate-joi schema validation, sanitization and client notification using Joi.
- [x] Dotenv loads environment variables from
.env
. (1.8k stars) - [x] Envalid environment variable validation.
- [x] Node-config node.js application configuration. (1.6k stars)
- [x] Winston a multi-transport async logging library for node.js. (6.1k stars)
- [x] Morgan HTTP request logger middleware for node.js. (1.7k stars)
- [x] Feathers-nedb. You can cleanly and easily swap databases.
You can swap to one or more of these databases with minor code changes: Amazon DynamoDB, Apache Cassandra, ArangoDB, Azure Table Storage, Google Sheets GraphQL, LevelDB, MariaDB, MondoDB, MySQL, NeDB, Neo4j, SQLite, Oracle, OrientDB, PostgrSQL, Redis, RethinkDB, Riak, SQL Server,
Client contains
- [x] React & React-dom.
- [x] Redux.
- [x] Redux-auth-wrapper for Redux and React-Router permissions. (550 stars)
- [x] Redux-form to manage form state in Redux (version 6). (3.5k stars)
- [x] Redux DevTools Extension, like redux-devtools but perhaps better. (2k stars)
- [x] Material-ui implement Google's Material Design. (19k stars)
- [x] Feathers-client using socket.io.
- [x] Feathers-reduxify-services wrap Feathers services so they work transparently and perfectly with Redux.
- [x] Feathers-reduxify-authentication wrap feathers-client.authentication so it works with Redux and React-Router.
Client build chain contains
- [x] Webpack
- [x] Babel
- [x] Postcss-modules scope CSS names locally, and export a map for rendering React components. (css-modules 4.7k stars)
- [x] Autoprefixer add vendor prefixes. (10.7k stars)
- [x] Rucksack a little bag of CSS superpowers, built on PostCSS. (1.5k stars)
- [x] Html-webpack-plugin simplifies creation of HTML files to serve your webpack bundles. (1.7k stars)
Motivation
A complete, working project on which you can build your own Feathers, React, Redux app.
The project contains comprehensive local authentication and authorization including user roles.
Running the starter package
npm install
from root.
Linux flavors
With Webpack-dev-server:
-
npm run build:devserver
on one process to start the webpack-dev-server on port 8080. -
npm run start:devserver
to start the server on port 3030. - Point browser to
localhost:3030
to start app.
Production build:
-
npm run build
. -
npm start
. - Point browser to
localhost:3030
to start app.
Windows
Run the above commends using win:build:...
and win:start:...
.
User authorization features accessible from icon menus on /user/signin
and /app
.
FAQ.
Customization of boilerplate.
Process Exit Codes.
HTTP Status Codes.
Contributing
Contribute to this repo.
Guide to ideomatic contributing.
Change Log
List of notable changes.
License
MIT. See LICENSE.