All Projects → chernyshof → react-phoenix-users-boilerplate

chernyshof / react-phoenix-users-boilerplate

Licence: MIT license
Elixir/Phoenix + React + users template/boilerplate.

Programming Languages

elixir
2628 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to react-phoenix-users-boilerplate

coconat
🍥 StarterKit Builder for rocket-speed App creation on 🚀 React 17 + 📙 Redux 4 + 🚠 Router 5 + 📪 Webpack 5 + 🎳 Babel 7 + 📜 TypeScript 4 + 🚔 Linters 23 + 🔥 HMR 3
Stars: ✭ 95 (+33.8%)
Mutual labels:  react-router, enzyme, redux-saga, starter-kit
Reactjs Crud Boilerplate
Live Demo
Stars: ✭ 83 (+16.9%)
Mutual labels:  enzyme, redux-form, starter-kit
Push Starter
React Redux Starter with SSR 🤖
Stars: ✭ 43 (-39.44%)
Mutual labels:  heroku, enzyme, redux-form
React Interview Questions
300+ React Interview Questions
Stars: ✭ 151 (+112.68%)
Mutual labels:  react-router, redux-saga, redux-form
rapid-react
A light weight interactive CLI Automation Tool 🛠️ for rapid scaffolding of tailored React apps with Create React App under the hood.
Stars: ✭ 73 (+2.82%)
Mutual labels:  react-router, redux-saga, redux-form
Reeakt
A modern React boilerplate to awesome web applications
Stars: ✭ 116 (+63.38%)
Mutual labels:  react-router, enzyme, redux-saga
Arc
React starter kit based on Atomic Design
Stars: ✭ 2,780 (+3815.49%)
Mutual labels:  react-router, redux-saga, starter-kit
Js Stack From Scratch
🛠️⚡ Step-by-step tutorial to build a modern JavaScript stack.
Stars: ✭ 18,814 (+26398.59%)
Mutual labels:  heroku, react-router
Tilex
Today I Learned
Stars: ✭ 418 (+488.73%)
Mutual labels:  heroku, phoenix
Phoenix Chat Example
💬 A Step-by-Step Beginners Tutorial for Building, Testing & Deploying a Chat app in Phoenix 1.5.5 🚀
Stars: ✭ 452 (+536.62%)
Mutual labels:  heroku, phoenix
Reactly Starter Kit
Deployable React + Webpack 2 starter kit
Stars: ✭ 122 (+71.83%)
Mutual labels:  heroku, starter-kit
Papercups
Open-source live customer chat
Stars: ✭ 4,554 (+6314.08%)
Mutual labels:  heroku, phoenix
nest-js-boilerplate
Nest.js boilerplate
Stars: ✭ 79 (+11.27%)
Mutual labels:  heroku, starter-kit
flask-app-blueprint
Flask App Blueprint / Boilerplate including user registration/login, admin only section, CRUD on database, and more. Based on Python, Flask, PostgreSQL, et al. deployed on Heroku. The #1 starter project.
Stars: ✭ 144 (+102.82%)
Mutual labels:  heroku, starter-kit
phoenix example
An example Phoenix app with one-click deployments to different cloud services.
Stars: ✭ 62 (-12.68%)
Mutual labels:  heroku, phoenix
Habits
An Elixir/Phoenix app for tracking daily habits, ready to deploy to Heroku.
Stars: ✭ 55 (-22.54%)
Mutual labels:  heroku, phoenix
Heroku Node Telegram Bot
Starter pack for running telegram bot on the Heroku using Node.js
Stars: ✭ 128 (+80.28%)
Mutual labels:  heroku, starter-kit
Nest Permissions Seed
A simple application demonstrating the basic usage of permissions with NestJS.
Stars: ✭ 121 (+70.42%)
Mutual labels:  heroku, users
Go Getting Started
Getting Started with Go on Heroku https://devcenter.heroku.com/articles/getting-started-with-go
Stars: ✭ 210 (+195.77%)
Mutual labels:  heroku, example
spring-boot-react-ecommerce-app
eCommerce application based on the microservices architecture built using Spring Boot and ReactJS.
Stars: ✭ 221 (+211.27%)
Mutual labels:  react-router, redux-form

React + Phoenix boilerplate

Demo: http://phxboilerplate.herokuapp.com

This is a basic setup for an React(16) + Phoenix(1.3)/Elixir(1.7) project, using webpack(4) and users with authentication.

STARTING PROJECT

You should have git installed

git clone https://github.com/chernyshof/react-phoenix-users-boilerplate appname
cd appname

Changing app name in files(commands for unix like systems)

grep -rl Boilerplate | xargs sed -i s@Boilerplate@Appname@g
grep --exclude={package.json,yarn.lock,.babelrc} -rl boilerplate | xargs sed -i s@boilerplate@appname@g
find . -depth -exec rename 's/boilerplate/appname/g' {} \; 

Or if you're using different rename version

find . -iname "*boilerplate*" -exec rename boilerplate appname '{}' \;

Reinit git

rm -rf .git
git init
git add priv/static/favicon.ico -f
git add priv/static/images/phoenix.png -f

Download dependencies

mix deps.get
mix ecto.create
mix ecto.migrate
cd assets
yarn install
cd ..

Start server

mix phx.server

SUPERUSER

After running mix ecto.migrate command you will have superuser:

email: [email protected]
password: 12345678

You probably wanna change it :)

SETUP

Redux logger

If you want to turn redux logger on just assign true to useReduxLogger in app/store/index.js

...
const useReduxLogger = true;
...

DEPLOYING TO HEROKU

You should have installed heroku-cli

Create heroku application

heroku create --buildpack "https://github.com/HashNuke/heroku-buildpack-elixir.git"

Optional change app address

heroku apps:rename appname

Adding phoenix buildpack

heroku buildpacks:add https://github.com/chernyshof/heroku-buildpack-phoenix-static.git

Add you address

in config/prod.exs change in config, :appname, Appname.Repo, url line(if needed)

url: [scheme: "https", host: "appnameaddress.herokuapp.com", port: 443],

Creating Environment Variables

heroku addons:create heroku-postgresql:hobby-dev
heroku config:set POOL_SIZE=18

Secret key

gen secret key

$ mix phx.gen.secret
xvafzY4y01jYuzLm3ecJqo008dVnU3CN4f+MamNd1Zue4pXvfvUjbiXT8akaIF53
now set key that you got in heroku
heroku config:set SECRET_KEY_BASE="xvafzY4y01jYuzLm3ecJqo008dVnU3CN4f+MamNd1Zue4pXvfvUjbiXT8akaIF53"

Guardian secret key

$ mix phx.gen.secret
xvafzY4y01jYuzLm3ecJqo008dVnU3CN4f+MamNd1Zue4pXvfvUjbiXT8akaIF53
now set key that you got in heroku
heroku config:set GUARDIAN_SECRET_KEY="xvafzY4y01jYuzLm3ecJqo008dVnU3CN4f+MamNd1Zue4pXvfvUjbiXT8akaIF53"

Deploy time!

git push heroku master
heroku run "POOL_SIZE=2 mix ecto.migrate"

REQUIREMENTS

USED PLUGINS AND TECHNOLOGIES

Frontend

Backend

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].