All Projects → emcasa → Backend

emcasa / Backend

Licence: mit
EmCasa Backend

Programming Languages

elixir
2628 projects

Projects that are alternatives of or similar to Backend

pinterest-backend
Pinterest Clone Backend in Phoenix Framework
Stars: ✭ 19 (-79.79%)
Mutual labels:  phoenix, backend
Mentat
scalable group chat with tags and pretty good privacy.
Stars: ✭ 89 (-5.32%)
Mutual labels:  phoenix
Node Bigpipe
A super easy, lightweight Bigpie Module for Nodejs, Express, Sails, ThinkJS with good intergration for web framework
Stars: ✭ 77 (-18.09%)
Mutual labels:  backend
Spring Boot Mongodb Angular Todo App
A Sample App built using Spring Boot, Angular and MongoDB
Stars: ✭ 84 (-10.64%)
Mutual labels:  backend
Polymorphic embed
Polymorphic embeds in Ecto
Stars: ✭ 80 (-14.89%)
Mutual labels:  phoenix
Tinyhttp
🦄 0-legacy, tiny & fast web framework as a replacement of Express
Stars: ✭ 1,259 (+1239.36%)
Mutual labels:  backend
Bancha
Bancha is an open-source CMS made by Nicholas Valbusa written in PHP5.3.
Stars: ✭ 76 (-19.15%)
Mutual labels:  backend
Dailyessay
Python|Golang|Linux (关于工作中写的一些各种各样的东西)
Stars: ✭ 90 (-4.26%)
Mutual labels:  backend
Qa Best Practices
This is a summary of QA practices Futurice uses and recommends to be used.
Stars: ✭ 88 (-6.38%)
Mutual labels:  backend
Phoenix gon
🔥 Phoenix variables in your JavaScript without headache.
Stars: ✭ 84 (-10.64%)
Mutual labels:  phoenix
Filterable
Filtering from incoming params in Elixir/Ecto/Phoenix with easy to use DSL.
Stars: ✭ 83 (-11.7%)
Mutual labels:  phoenix
Phoenix react playground
An example setup for a Phoenix+React project with sensible defaults.
Stars: ✭ 80 (-14.89%)
Mutual labels:  phoenix
Poetryclub Backend
基于 laravel + vue.js 的诗词小筑网站后台页面与后端代码
Stars: ✭ 87 (-7.45%)
Mutual labels:  backend
Pow
Robust, modular, and extendable user authentication system
Stars: ✭ 1,213 (+1190.43%)
Mutual labels:  phoenix
Memento
Collect saved items from different sources around the web
Stars: ✭ 89 (-5.32%)
Mutual labels:  phoenix
Geoip
Elixir library to find geo location information given an IP address, hostname or Plug.Conn
Stars: ✭ 77 (-18.09%)
Mutual labels:  phoenix
Bug Tracker Pern Ts
Bug Tracking app with project members support. Made with PERN stack + TypeScript.
Stars: ✭ 79 (-15.96%)
Mutual labels:  backend
Hiring
Create WOW Moments. Create superfans.
Stars: ✭ 85 (-9.57%)
Mutual labels:  backend
Cake Slayer
🍰🔪 Architecture of Haskell backend applications
Stars: ✭ 92 (-2.13%)
Mutual labels:  backend
Formulator
A form library for Phoenix
Stars: ✭ 89 (-5.32%)
Mutual labels:  phoenix

Build Status Ebert Coverage Status codebeat badge

Re WebService

Pre-requisites

  • Elixir
  • PostgreSQL

Install

  • Install dependencies with mix deps.get
  • Create, migrate and seed your database with cd apps/re && mix ecto.setup
  • Rename config/dev.secret-example.exs to config/dev.secret.exs and follow instructions at the top of the file to generate necessary keys.
  • Install git hooks with mix git.hook

Setup elasticsearch (optional)

  • Download and install (comes with kibana): mix elasticsearch.install . --version 6.2.4
  • Run elasticsearch: ./elasticsearch/bin/elasticsearch and check http://localhost:9200
  • Run kibana: ./kibana/bin/kibana and check http://localhost:5601
  • Optionally, uncomment the lines in application.ex to run elasticsearch and kibana together with the application
  • Create listings index: mix elasticsearch.build listings --existing --cluster ReIntegrations.Search.Cluster (see ReIntegrations.Search for more operations)

Test

  • Run mix test

Run

  • Prepare database with mix ecto.setup
  • Start Phoenix endpoint with mix phx.server
  • Check http://localhost:4000/graphql_api
  • WebSocket subscriptions at ws://localhost:4000/socket

Enable https locally

To enable https locally, it's necessary to add priv/cert/dev/dev_cert_ca.cert.pem to your trusted root certificates, this varies accordingly your OS, or browser of choice, below are links, showing how to procede:

Now it's time to update our /etc/hosts (or C:\Windows\System32\drivers\etc\hosts), and add an entry mapping dev.emcasa.com, api.dev.emcasa.com, and kibana.dev.emcasa.com to 127.0.0.1.

After enabling https, the backend will be available in https://api.dev.emcasa.com.

Using docker

If you prefer working with docker it's possible to use docker-compose to start all services needed with: docker-compose up -d

The first time this command is executed, it will build the emcasa/backend:dev image and install all dependecies.

To check the status of all services use the command: docker-compose ps.

If you need to rebuild the backend image (maybe because we added a new dependency), just type: docker-compose build.

At last, to start the backend use: docker-compose exec backend mix phx.server.

If you prefer, mix has some aliases for the common commands:

  • mix compose server: start the phoenix server in backend service
  • mix compose build: build a new backend image.
  • mix compose up: start all services.
  • mix compose down: stop all services.
  • mix compose ps: check status for all services.

Load database backup

To restore a database backup execute the command:

pg_restore -d re_dev --clean --no-owner --no-acl <path-to-backup-file>

Production

To see backend endpoint in production: https://api.emcasa.com/

Possible issues

Use asdf or check the tools versions in .tools-version

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