Git Product home page Git Product logo

psoft-ajude-back-20192's Introduction

Projeto de Software

Detalhes

Projeto da disciplina de Projeto de Software
Orientadores: Dr. Dalton Serey (@daltonserey) e Dra. Raquel Lopes (@raquelvl)
Discentes: Dayvid Silva (@dayvidds) e João Espindula (@pedroespindula)

AJuDE - AquiJUntosDoandoEsperança
O AJuDE é uma plataforma para financiamento coletivo onde as causas mais populares ganham mais visibilidade. Cada projeto (ou campanha) será atendido quando conseguir arrecadar uma quantidade de doações igual ou superior à meta. O sistema permite que usuários classifiquem os projetos e escrevam comentários sobre os mesmos. Os usuários da aplicação criam projetos com suas metas. A partir desse momento o sistema começa a arrecadação e permite classificar, dar like/dislike nos projetos e ainda escrever comentários sobre eles.

Explicação resumida da api

Para fazer cumprir os padrões de projeto e as boas práticas de programação foi decidido separar em view, controller e model (MVC). Como o projeto é pode ser dividido em duas grandes partes e recursos principais, que são os usuários e campanhas, foi necessário criar vários modelos e controladores para manter uma boa coesão. O controlador de campanha ficou responsável por tarefas que envolvam ela como por exemplo criar campanhas, adicionar comentários e dar uma curtida. O controlador de usuário ficou responsável apenas no cadastro de usuário e no retorno de usuários, como o login envolve várias manipulações e criações de token, achou melhor criar um controlador específico para login fazendo com que reduza mais a coesão. Em relação ao token, foi definido o tempo de duas horas pois como não é um sistema que o usuário irá passar muito tempo durante o dia não terá o incômodo de ficar se autenticando várias vezes, ao mesmo tempo como possui informações sensíveis como número do cartão de crédito, motivo pelo qual não pode-se ter um tempo de token muito grande. Os controladores são responsáveis apenas por receber um comando a ser executado, para isso ele irá designar a tarefa para os serviços específicos. De forma a otimizar a comunicação foi adotado a criação de DTOs, pois seria ineficiente ficar a todo momento transferindo todas as informações.

Vídeo de demonstração da aplicação
Documentação da API gerada pelo swagger
Aplicação

psoft-ajude-back-20192's People

Contributors

pedroespindula avatar dayvidds avatar

Watchers

James Cloos avatar RAQUEL VIGOLVINO LOPES avatar  avatar  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.