All Projects → Angarsk8 → Elixir Cowboy React Spa

Angarsk8 / Elixir Cowboy React Spa

Licence: mit
Example application that shows how to use Cowboy 2.0 in conjunction with React and Redux to create data driven Single Page Applications

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Elixir Cowboy React Spa

Ssr Sample
A minimum sample of Server-Side-Rendering, Single-Page-Application and Progressive Web App
Stars: ✭ 285 (+154.46%)
Mutual labels:  spa, redux-saga
Redux Tower
Saga powered routing engine for Redux app.
Stars: ✭ 155 (+38.39%)
Mutual labels:  spa, redux-saga
Dataformsjs
🌟 DataFormsJS 🌟 A minimal JavaScript Framework and standalone React and Web Components for rapid development of high quality websites and single page applications.
Stars: ✭ 95 (-15.18%)
Mutual labels:  spa
Battle City
🎮 Battle city remake built with react.
Stars: ✭ 1,543 (+1277.68%)
Mutual labels:  redux-saga
React Login
A client side implementation of authentication using react.js for my blog on medium. This is the second part of my previous blog on how to implement scalable node.js server.
Stars: ✭ 105 (-6.25%)
Mutual labels:  redux-saga
Replica
A remote virtual DOM library for Haskell
Stars: ✭ 97 (-13.39%)
Mutual labels:  spa
What The Splash
Tutorial for building an unsplash image gallery with redux saga :atom:
Stars: ✭ 107 (-4.46%)
Mutual labels:  redux-saga
Typescript Nextjs Redux Material Ui Example
next.js v9, typescript v3.7, redux, material-ui v4, react-hooks, redux-saga, SSR
Stars: ✭ 93 (-16.96%)
Mutual labels:  redux-saga
Sme Router
A lightweight router lib that implement with express route style
Stars: ✭ 112 (+0%)
Mutual labels:  spa
Ts React Boilerplate
Universal React App with Redux 4, Typescript 3, and Webpack 4
Stars: ✭ 104 (-7.14%)
Mutual labels:  redux-saga
Frontpress
⚡️ A full front-end AngularJS template for WordPress Rest API.
Stars: ✭ 109 (-2.68%)
Mutual labels:  spa
Gdindex
A Google Drive Index built with Vue Running on CloudFlare Workers
Stars: ✭ 1,384 (+1135.71%)
Mutual labels:  spa
Sr mini
A single file Rails app that will have you running a StimulusReflex and CableReady demo in just 2 steps.
Stars: ✭ 98 (-12.5%)
Mutual labels:  spa
Vue Laravel Spa
Single Page Application made with Vue.JS2, Vue Router, Vuex and Laravel 5.6.
Stars: ✭ 107 (-4.46%)
Mutual labels:  spa
Molecule
⚛️ – :atom: – ⚛️ Boilerplate for cross platform web/native react apps with electron.
Stars: ✭ 95 (-15.18%)
Mutual labels:  redux-saga
Laqul
A complete starter kit that allows you create amazing apps that look native thanks to the Quasar Framework. Powered by an API developed in Laravel Framework using the easy GraphQL queries language. And ready to use the Google Firebase features.
Stars: ✭ 110 (-1.79%)
Mutual labels:  spa
Self Learning Materials For Blazor Jp
C# で Single Page Web アプリを開発するフレームワーク「Blazor」の WebAssembly 版 (client-side 版) の自習教材です。
Stars: ✭ 93 (-16.96%)
Mutual labels:  spa
Defql
Create elixir functions with SQL as a body.
Stars: ✭ 100 (-10.71%)
Mutual labels:  ecto
Element Ui Admin
基于 element-ui 的单页面后台管理项目模版
Stars: ✭ 106 (-5.36%)
Mutual labels:  spa
Kronky
Kronky bridges the gap between Ecto and Absinthe GraphQL by listing validation messages in a mutation payload.
Stars: ✭ 112 (+0%)
Mutual labels:  ecto

Cowboy + React SPA Example

This is an example application that shows how to use Cowboy 2.0 in conjunction with React and Redux to create data driven Single Page Applications.

This project has been developed using the following technologies:

Features

This repository contains the source code of a Todo list web application that pretends to serve as a mid size example to learn how to build modern SPAs with Elixir (not Phoenix) and React. In this project you will find how to implement important features and services such as:

Backend

  • Anonymous authentication (encoding and signing user with JWT)
  • RESTful JSON API (Cowboy REST handlers)
  • Serve static files (Cowboy static handler)
  • Authorization (decoding and verifying JWT)
  • Data modeling and persistency (Ecto + PostgreSQL)

Frontend

  • Component based SPA (React)
  • Application state management (Redux)
  • Async operations handling (Redux Saga)

Demo

Demo available here.

Demo#1 Demo#2 Mobile#1 Mobile#2

Setup

To start this application locally:

  1. Make sure you have installed Elixir, Erlang, Node, Yarn and PostgreSQL
  2. Install the Mix dependencies: $ mix deps.get
  3. Create and migrate the development database: $ mix ecto.setup
  4. Start the application with all its dependencies: $ iex -S mix
  5. Install the Node packages $ cd client/ && yarn install
  6. Start the web development server: $ yarn start

To build the JavaScript application for production:

  • In the client directory, run $ yarn build

Deployment with Docker

To run this application in production with Docker:

  1. Make sure both docker and docker-compose are installed on your production server.
  2. Create a .env file anywhere in your server:
  • Copy the information from this file.
  • Replace the placeholders with the data you want.
  1. Create a docker-compose.yml file in the same directory that you created the .env file:
  • Copy the information from this file.
  1. Start the services by running $ docker-compose up -d.

License

MIT

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