Skip to content
This repository has been archived by the owner on Oct 15, 2023. It is now read-only.

vnntsu/elixir-ic

Repository files navigation

[![Build Status](CI_BADGE_URL goes here)](REPO_URL goes here)

Introduction

App introduction goes here ...

Staging deployed

https://crawler-staging.onrender.com

Project Setup

Erlang & Elixir

  • Erlang 25.0.4

  • Elixir 1.14.0

Node

Development

  • Install Docker for Mac

  • Setup and boot the Docker containers:

    make docker_setup
  • Install Elixir dependencies:

    mix deps.get
  • Install Node dependencies:

    npm install --prefix assets
  • Install chromedriver for Wallaby browser tests

    Homebrew

    brew install --cask chromedriver

    Debian/Ubuntu

    brew install --cask chromedriver
  • Setup the databases:

    mix ecto.setup
  • Start the Phoenix app

    iex -S mix phx.server
  • Run all tests:

    mix test
  • Run tests with watch option:

    mix test.interactive # Watch the whole test suite
    
    mix test.interactive test_file_path # Watch a specific test file
    
    mix test.interactive test_file_path:line_number # Watch a specific test line number
  • Run all lint:

    mix codebase
  • Fix all lint:

    mix codebase.fix
  • Test coverage:

    mix coverage

Production

  • Build Docker image

    docker-compose build

CI/CD

The project relies entirely on Github Actions for CI/CD via multiple workflows located under the .github/workflows/ directory. Please check out the .github/workflows/README.md file for further instructions.

Project documentation

Most of the documentation is located in the .github/wiki directory, which is published to the project's Github wiki.