Giter VIP home page Giter VIP logo

CODECASTS

Codacy Badge Latest Stable Version License composer.lock GitHub issues Docker Hub Image

Application's GIT Repository. This document should be the ultimate guide on running and specs about the application source code.

Build status

Branch Environment URL Status Test Coverage Code Style
master production https://codecasts.com.br Build Status coverage StyleCI
develop staging https://staging.codecasts.com.br Build Status coverage StyleCI

Index

Development

For using the docker version (recommended) of the environment, you first need to stop local services like MySQL, Redis, Elasticsearch and webservers running on port 80.

Requirements

  • Docker >= 1.10.3.
  • docker-compose, if not already bundled in your docker install.
  • A virtual host named codecasts.app pointing to 127.0.0.1, this step is needed since the social login callbacks are using this URL.

Operating the docker environment

Starting services

  • Option 1: Keeping the output visible on the terminal
docker-compose up
  • Option 2 : Sending the output of the services to background
docker-compose up -d

Stopping services

  • Option 1: When the output is visible (started with option 1), just hit control + c to stop it.

  • Option 2: When the services are on background or failed to stop with control + c, you can stop them with the following command:

docker-compose down

Running internal commands

When commands like artisan are needed, those commands would need to run inside the docker containers, to do so, use the following sintax:

docker-compose run {service-name} {command-you-want-to-run}

For example. to run migrations, you can do:

docker-compose run app php artisan migrate

Another example, starting a terminal inside the MySQL service

docker-compose run mysql /bin/bash

List of Services

The service names can be located inside the docker-compose.yml file, right now, the following are enabled:

Service Description
cache Runs a Redis 3.2 Instance for Cache and queues
mysql Runs a MySQL 5.7 Instance for Database
app PHP and Caddy Instance that runs the apllication
queue A PHP-CLI container, running php artisan queue:listen command
elastic Elasticsearch instance for search indexing

Coding Guide Lines

Style

PSR-1 & PSR-2 should be enforced, a copy of php-cd-fixer is distributed along with the PHP Docker image, so the following command can automatically format the code before commiting:

docker-compose run app php-cs-fixer --diff --fixers=-psr1,-psr2 fix app

As a alternative, you can alias that command as psr2 or other name:

# Bash and ZSH
alias psr2="docker-compose run app php-cs-fixer --diff --fixers=-psr1,-psr2 fix"

# Fish shell
alias psr2 "docker-compose run app php-cs-fixer --diff --fixers=-psr1,-psr2 fix"

Unit Testing

Following the same structure of existing tests, the main rule it keep tests under the same namespace as the class being tested, in order to avoid useless imports and keep code cleaner

Code coverage as HTML is already ignored on git when generated on the coverage directory, to run tests with coverage reports, use

php vendor/bin/phpunit --coverage-html=coverage

CODECASTS's Projects

agendavel icon agendavel

Projeto da série "Laravel 5.1 Passo a Passo"

jobs icon jobs

Projeto da Série: Laravel 5.2 Passo a Passo

larastart icon larastart

Laravel Installer / Project creator for CODECASTS Laravel templates

laravel-jwt icon laravel-jwt

Dead simple, plug and play JWT API Authentication for Laravel (5.4+)

modular icon modular

Aplicação Laravel 5 organizada em módulos

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.