/casa-facil-imoveis

O projeto consiste em construir uma aplicação de compra/venda de imóveis parecido com alguns sites já existentes.

Primary LanguageJavaApache License 2.0Apache-2.0

Casa Fácil Imóveis Logo

Build Status Sonarcloud Status License Codacy Badge Front-end Developer Front-end Developer

O projeto consiste em construir uma aplicação de compra/venda de imóveis parecido com alguns sites já existentes, a aplicação back-end não foi feita autenticação via Token, apenas utilizando o spring security para poder criptografar as senhas, quem controla a sessão do cliente é o front-end com o Vuex.

Para a instalação do spring boot é necessário fazer o download das dependências utilizadas e em seguida estartar a aplicação. Os comandos para poder rodar a aplicação front-end são:

- npm install
- npm run serve

Documentação:

Tecnologias Utilizadas:

  • Back-end: Spring boot (dependências):

    • JPA Data: Gerenciamento das entidades da aplicação
    • Spring Security: Segurança dos web-services (Foi usado apenas para criptografia de senhas)
    • Spring Email: Usado para o envio de e-mails dentro da aplicação
    • Spring Web
    • Spring Cache
    • Spring DevTools
    • Jasper Reports
    • Captura de exceções e armazenamento em banco
    • FlyWay: Faz o gerenciamento de versões do banco de dados.
    • Postgres
    • Spring test (Teste de unidade)
    • Swagger: Faz o gerenciamento de todas as requisões (controllers) de dentro da aplicação facilitando a visualização das mesmas.
    • Lombok: O Project Lombok é uma biblioteca java que se conecta automaticamente ao seu editor e cria ferramentas, apimentando o seu desenvolvimento java.
  • Front-end: Vue JS (dependências):

    • Bootstrap-Vue: Usado para auxiliar na criação de componentes responsivos.
    • Axios: Faz as requisições http com o back-end.
    • Vue-Router: Ferramenta do Vue usada para fazer as rotas de usuário.
    • ESLint: Ferramenta para manter os padrões de código do JavaScript.
    • Vuex: Ferramenta do Vue para fazer sessão e armazenar informações do usuário
  • Database: Postgres

    • Observações: A aplicação está com o banco de dados em deploy no Heroku, a principio da para deixar lá para poder utilizar a API sem necessidade de banco local, mas devido não ter custos o serviço é um pouco lento.
  • Integração contínua: Travis CI

    • O Travis CI é um serviço web de Integração Contínua na nuvem integrado com o GitHub. Ele é gratuito para repositórios públicos e pago para repositórios privados.
  • Revisor de código: Codacy

    • Codacy é um revisor de código automático que é feito em nuvem e integrado ao Github, quando é commitado algo automaticamente o mesmo já é chamado para poder fazer a revisão.
  • Links para teste da aplicação:

    Back-end: Deploy

    Front-end: Deploy

  • Como rodar o projeto?

    Assumindo que já tenha o Docker instalado na máquina, execute os procedimentos abaixo:

    Abra o console na pasta raiz da aplicação

    Execute o deploy, atualiza a imagem da aplicação e cria o banco Postgresql populado

    docker-compose up -d --build
    

    No seu browser acesse as urls:

  • License:

Copyright 2018 Wender Galan - Matheus Pimentel

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.