GithubHelp home page GithubHelp logo

josafa2018 / caronae-backend Goto Github PK

View Code? Open in Web Editor NEW

This project forked from caronae/caronae-backend

0.0 1.0 0.0 24.01 MB

Backend do Caronaê, app open-source de caronas usado por mais de 15 mil alunos da UFRJ

Home Page: https://caronae.org

License: GNU General Public License v3.0

Makefile 0.06% PHP 66.63% Dockerfile 0.09% Shell 0.61% Python 0.18% CSS 0.67% JavaScript 23.89% HTML 7.87%

caronae-backend's Introduction

Caronaê - Backend

CircleCI StyleCI

Backend do Caronaê, baseado no Laravel. O backend é composto por uma API REST usada pelos apps e pela área administrativa, usada internamente.

O Caronaê é um sistema de código aberto, seguro e prático de caronas compartilhadas, criado com o objetivo de ser replicado em diferentes instituições e feito exclusivamente para a comunidade acadêmica das instituições integrantes da Rede Caronaê. Para conhecer mais sobre o projeto, visite nosso site.

Instalação

O backend do Caronaê executa em um ambiente com PHP 7, PostgreSQL e Redis.

O jeito mais fácil de executar este projeto localmente é utilizando nossas imagens Docker. Você não precisa ter nada instalado na sua máquina além do Docker e Docker Compose.

No diretório docker há uma configuração do Docker Compose. Para rodar o projeto junto com todas as dependências necessárias, execute:

cd docker
docker-compose up

Você pode criar uma terminal dentro do container do caronae-backend através do comando abaixo:

docker exec -it caronae-backend sh

Populando o banco de dados

Quando você executa o projeto pela primeira vez, o banco de dados está vazio. Porém há um seed que popula um banco de dados com dados aleatórios, perfeito para desenvolvimento local. Para usá-lo, execute o comando abaixo:

Importante: o comando abaixo apaga todos os dados existentes antes de inserir os novos dados.

docker exec -it caronae-backend php artisan migrate:refresh --seed

Pronto! Agora você já pode fazer login na área administrativa utilizando o usuário padrão.

Usando a API através do Postman

Nós recomendamos usar o aplicativo Postman pra testar as chamadas da API.

Como as rotas da API são protegidas apenas para usuários logados, você precisa gerar um token JWT pra se autenticar na API. Você pode gerar um token pela área administrativa clicando em API tokens.

Uma vez gerado o token, você pode configurá-lo na aba Authorization do Postman. No campo Type, selecione 'Bearer Token'. No campo Token, insira o token gerado na área administrativa.

Testes

Este projeto possui alguns testes unitários e de integração, que ficam dentro da pasta tests. Eles verificam o comportamento da aplicação a fim de evitar que mudanças no código quebrem alguma funcionalidade existente. Para ler mais sobre testes no Laravel, consulte a documentação oficial.

Existe um arquivo de configuração do Docker Compose feito só pra poder rodar os testes. Você pode executá-lo da sua máquina usando o comando abaixo de dentro da pasta docker:

docker-compose -f docker-compose.test.yml up --build --exit-code-from caronae-backend-tests

caronae-backend's People

Contributors

macecchi avatar leomarques avatar daniellima avatar ldamota avatar jcavalin avatar damascenorafael avatar rpaggi avatar tonysm avatar munizeverton avatar igorrocha avatar lucashanke avatar itepifanio avatar evertoncatto avatar kazefiro avatar tspencer244 avatar

Watchers

James Cloos avatar

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.