All Projects → Scharkee → react-hooks-uikit-express-oauth-boiler-v2

Scharkee / react-hooks-uikit-express-oauth-boiler-v2

Licence: other
A React/TypeScript fullstack boilerplate utilizing React hooks, using Express as backend, UIKit for frontend, MongoDB for storage & open-authenticator for OAuth.

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to react-hooks-uikit-express-oauth-boiler-v2

Docker Cloud Platform
使用Docker构建云平台,Docker云平台系列共三讲,Docker基础、Docker进阶、基于Docker的云平台方案。OpenStack+Docker+RestAPI+OAuth/HMAC+RabbitMQ/ZMQ+OpenResty/HAProxy/Nginx/APIGateway+Bootstrap/AngularJS+Ansible+K8S/Mesos/Marathon构建/探索微服务最佳实践。
Stars: ✭ 86 (-21.82%)
Mutual labels:  oauth, docker-compose
Golang Url Shortener
URL Shortener written in Golang using Bolt DB or Redis. Provides features such as Deletion, Expiration, OAuth and is of course Dockerizable.
Stars: ✭ 240 (+118.18%)
Mutual labels:  oauth, docker-compose
tiny-ui
⚛️ A friendly UI component set for React.js
Stars: ✭ 202 (+83.64%)
Mutual labels:  uikit, react-hooks
LocaleManager
Changing iOS locale and language on the fly without exiting. RTL supported.
Stars: ✭ 51 (-53.64%)
Mutual labels:  uikit
sodium-ui
Sodium is a simple, modular and customizable web component library to build elegant and accessible UI pieces for your React Application.
Stars: ✭ 23 (-79.09%)
Mutual labels:  uikit
art-ui
🌈 A UI Design Language and React UI library
Stars: ✭ 34 (-69.09%)
Mutual labels:  react-hooks
snk.dev-assistant
Assistant for code development with advanced machine learning features
Stars: ✭ 14 (-87.27%)
Mutual labels:  docker-compose
MMseqs2-App
MMseqs2 app to run on your workstation or servers
Stars: ✭ 16 (-85.45%)
Mutual labels:  docker-compose
electron-oauth-helper
Easy to use helper library for OAuth1 and OAuth2.
Stars: ✭ 55 (-50%)
Mutual labels:  oauth
laravel-starter-kit
A minimal starter kit for Laravel 8 using Bootstrap 5 and Webpixels CSS.
Stars: ✭ 23 (-79.09%)
Mutual labels:  uikit
date-range-picker
⚛️📆 Flexible React date range picker calendar with no dependencies.
Stars: ✭ 94 (-14.55%)
Mutual labels:  react-hooks
express-redis-docker
A Node/Express app with Redis through Docker Compose
Stars: ✭ 56 (-49.09%)
Mutual labels:  docker-compose
SafeAreaExample
The example project which allows you to play with safe areas introduced in iOS 11
Stars: ✭ 64 (-41.82%)
Mutual labels:  uikit
exo
A process manager & log viewer for dev
Stars: ✭ 296 (+169.09%)
Mutual labels:  docker-compose
kafka-spark-streaming-zeppelin-docker
One click deploy docker-compose with Kafka, Spark Streaming, Zeppelin UI and Monitoring (Grafana + Kafka Manager)
Stars: ✭ 82 (-25.45%)
Mutual labels:  docker-compose
django-boilerplate
(An opinionated) Django boilerplate to run your project on Docker Compose (Redis, Rabbitmq, base/dev/prod settings ..etc) 🌟 Give it a star if you like it.
Stars: ✭ 35 (-68.18%)
Mutual labels:  docker-compose
compose-mediawiki-ubuntu
Containerized Mediawiki install based on Ubuntu
Stars: ✭ 42 (-61.82%)
Mutual labels:  docker-compose
event-driven-microservices
No description or website provided.
Stars: ✭ 15 (-86.36%)
Mutual labels:  docker-compose
hakase-labs
Learn and Share..
Stars: ✭ 24 (-78.18%)
Mutual labels:  docker-compose
angular-forum
Forum application built with Angular
Stars: ✭ 52 (-52.73%)
Mutual labels:  docker-compose

RHUE: react-hooks-uikit-express-oauth-boiler-v2

Status

A React TypeScript boilerplate utilizing React hooks, using Express as backend, UIKit for frontend, MongoDB for storage & open-authenticator for oauth.

Demo website.


Features

  • Webpack+Babel for the client
  • Full TypeScript support for server and client
  • User authentication:
    • email/password (basic/lightweight mode)
    • via open-authenticator(Google, Twitter, LinkedIn, etc.).
  • Auth method merging, linking and unlinking of social accounts. (Only if using open-authenticator).
  • Client
    • React, backed by UIKit components/layout/icons
    • React hooks for state management
    • Mocked auth-gated data example
    • Dynamic UI elements that generate from with open-authenticator, based on your config
  • Server
    • Express server
    • Async/await design with await-to-js error handling
    • MongoDB for storage, via mongoose.
    • Auth-based route guarding
  • TLS/HTTPS:
    • Automatic certificate generation if running composition
    • Simple/dev mode (http only, custom port), for use with reverse proxy configurations or for basic http operation.

Running in basic mode

# clone the repository
$ git clone https://github.com/Scharkee/react-hooks-uikit-express-oauth-boiler-v2.git

# switch to the folder
$ cd react-hooks-uikit-express-oauth-boiler-v2

# install dependencies. If you would rather use npm, try npm i. npm run SCRIPT for things below.
$ yarn

# perform guided setup
$ yarn setup

# build the client and launch everything in devmode on port 8080.
$ yarn dev

# launch in production mode on the port that was chosen when setting up (default 80)
$ yarn launch

Running in composition mode (OAuth-ready)

This takes care of the database, routing, HTTPS certificate generation, and OAuth for you.

Make sure to use mongodb://mongo:27017/boiler as the mongooseConnectionString in the config, if you're running in composition mode.

# clone the repo
$ git clone https://github.com/Scharkee/react-hooks-uikit-express-oauth-boiler-v2.git

# switch to the folder
$ cd react-hooks-uikit-express-oauth-boiler-v2

# perform configuration
$ yarn && yarn setup

# launch!
$ docker-compose up

# At this point you can access everything through your domain,
# as long as it is properly pointed towards your IP.
# However, you will not see any OAuth options yet at the login or profile.

Enabling OAuth logins

In order to enable OAuth logins, run:

# Configure your OAuth strategies (configure open-authenticator):
$ docker exec -it authenticator yarn setup

# After you are happy with the configurations restart the container.
# The config will be persisted locally in config/open-authenticator.
$ docker restart authenticator

# Upon restarting, open-authenticator will automatically install all required dependencies.
# You are good to go!

Domain setup

If running in composition mode, you must have two domains pointed to your IP:

  • One for the boilerplate (e.g. boilerplate.yourdomain.com)
  • One for open-authenticator (e.g. auth.yourdomain.com)

The HTTPS certificates will be generated for you when you run the composition, as long as these domains are indeed pointed to the machine you are running it on.

open-authenticator instance for testing

If you would like to test everything out, but can not set up open-authenticator for one or more reasons, you can use this instance:

"client" : "boiler_C22nynzEB7S3gKCCSzaDKuFX"
"url": "https://auth.ensio.hefa.lt"

This open-authenticator instance contains strategies for Google, Twitter and GitHub.

Do not use this in production, since this client will be removed after some time, and it may not always be online.

Information & sources

Check out open-authenticator: open-authenticator GitHub

React docs can be found here: React docs.

Read about React Hooks here

Read about UIKit here

Contribution & Support

Submit bugs and requests through the project's issue tracker. You are also very welcome to contribute :)

Issues

License

This project is licensed under the terms of the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].