Giter Club home page Giter Club logo

eventos-api's People

Contributors

angeliski avatar greenkeeper[bot] avatar hbsis-marcelzanluca avatar klauskpm avatar lazaroalvarenga avatar marcellz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eventos-api's Issues

Revisar as dependências do projeto

O Github está emitindo um alerta de vunerabilidades, é interessante revisar isso para garantir que as dependências estão sem brechas.

network_dependencies_ _frontendbr_eventos-api

Melhorar suite de testes

Uma das coisas que eu acho que hoje está muito complexa nos testes é a suite de testes.
Quando eu fiz ela, não considerei aspectos de teste de unidade, teste de integração e afins.

Acho que vale um refactor nela, depois que a implementação do banco e do auth for definida, para simplificar e dar maior segurança nas nossas regras de negocio.

Atualizar mecanismo de autenticação

Hoje a autenticação é realizada em um modelo de passport+github+firebase. Essa issue tem como intuito, remover esse modelo e atualizar ele para não usar o firebase.
Nessa issue deve ser realizado o seguinte cenário:

  • O usuário deve ser capaz de se autenticar com o github
  • A API deve ser capaz de identificar se o usuário autenticado é admin #49
  • Deve ser enviado um token por requisição na API, para manter stateless
  • A API deve garantir que o token é do Github, para evitar brechas de segurança
  • Remover os lugares onde o firebase é usado e se necessário remover o passport também.

Obter Evento

É necessário desenvolver o seguinte endpoint:
GET /event/{eventId} Find event by ID
Esse endpoint deve retornar um único evento.

Criar a camada de persistência do Evento

Após a #47 é necessário criar o schema para persistir o evento no mongo. Nessa issue deve ser realizado o seguinte cenário:

  • Criar o schema do mongo para o Evento
  • Remover as referências de persistência do Firebase para o evento(O firebase só será removido após tudo ter sido removido).
  • Atualizar os métodos que realizam o cadastro, atualização, deleção e listagem do evento.

Melhorar a documentação do README

Hoje existem algumas "barreiras" para rodar o projeto do zero, seria ideal documentar as informações necessárias para entender como rodar este projeto.
Pontos importantes:

  • Configuração do Github APP
  • Configuração do Firebase Admin
  • Configuração de Autenticação do Firebase com o Github
  • Secrets e Deploy

Deletar Evento

É necessário desenvolver o seguinte endpoint:
DELETE /event/{eventId} Deletes a event
Esse endpoint é responsável por realizar a deleção fisica do evento. Considerações:

  • É necessário estar logado
  • É necessário ser um adm
  • Somente eventos reprovados devem ser deletados

Desenvolver Dasboard de ADMIN

Depois da #13 É preciso fazer o dashboard ondes os administradores vão poder aprovar/reprovar os eventos, deletar e fazer upload das fotos.
Para esse dash é necessário fazer login no github e ser adm.

Atualizar um evento

É necessário desenvolver o seguinte endpoint:
PUT /event/{eventId} Updates a event
Esse endpoint deve atualizar o evento. Considerações importantes:

  • É necessário estar logado
  • É necessário ser um adm
  • A atualização deve seguir o padrão PATCH (atualização parcial), ou seja, só é atualizado aquilo que for enviado

Listagem de Eventos

É necessário desenvolver o seguinte endpoint:
GET /event - List all events
Esse endpoint é responsável por listar todos os eventos aprovados considerandos os filtros:

  • Mês (month) [ Janeiro a Dezembro]
  • Estado (state) [SP, RJ,MG]
  • Palavras Chave (keywords) [pode se usar um like no titulo e descrição, considerar a performance]
  • offset (Paginação)
  • limit (Paginação)

Opção postergada:
A opção de informar o mês através de números é para evitar problemas de internacionalização (Outubro, October)

Upload de imagem do Evento

É necessário desenvolver o seguinte endpoint:
POST /event/{eventId}/uploadImage uploads an image for the event
Esse endpoint serve para disponibilizar imagens para o evento. Considerações:

  • É necessário estar logado
  • É necessário ser um adm

Melhorias e Revisão da API

Essa issue é para a revisão co código ser feita antes do lançamento da V1. Qualquer comentário e sugestão é bem vinda.

Login via Github

É necessário desenvolver os endpoints de Login. Talvez seja interessante gerenciar isso com o Passport ou delegar direto para o Firebase.

Utilizar babel como transpilador

@angeliski O que acha de utilizar o babel para transpilação do código NodeJS ? Assim poderemos utilizar as features mais recentes do JavaScript que não tem implementada ainda na V8 😄.

An in-range update of nodemon is breaking the build 🚨

The devDependency nodemon was updated from 1.18.5 to 1.18.6.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

nodemon is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Release Notes for v1.18.6

1.18.6 (2018-11-05)

Bug Fixes

Commits

The new version differs by 1 commits.

  • 521eb1e fix: restart on change for non-default signals (#1409) (#1430)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Criar camada de persistência dos administradores

Hoje é necessário guardar a informação de quem são os administradores. Idelmente, será salvo apenas o email do usuário, identificando ele como administrador.Nessa issue deve ser realizado o seguinte cenário:

  • Criar o schema que permite registrar um administrador
  • Atualizar os locais onde a verificação de administrador é feita para simplificar conforme o mongo
  • Remover as referências do firebase e do firebase-admin onde necessário(O firebase só será removido após tudo ter sido removido).

Stack - NodeJS + LokiJS

Galera, tive uma ideia e já até comentei com alguns, de utilizar uma stack um pouco diferente, mas bem simples! Seria criar uma API utilizando NodeJS e como banco de dados utilizar LokiJS, pra quem não conhece pode dar uma olhada aqui, é um banco NoSql simples e muito bacana!

Realizar a configuração do mongodb

Optamos por usar o mongodb como nossa base de persistência. Para isso, vamos usar o serviço do mongo lab. Nessa issue deve ser realizado o seguinte cenário:

  • Adicionar as configurações de start do mongo no arquivo de configuração
  • Adicionar os testes de integração (mongo-in-memory ou outro para os testes)
  • Atualizar o README explicando qual tecnologia usamos e como alterar as configurações (Se necessário)

Pode se usar a POC de referência.

Listar eventos por status

É necessário desenvolver o seguinte endpoint:
GET /event/findByStatus Finds Events by status
Esse endpoint segue a ideia do #3 a diferença entre eles é que nesse caso é necessário estar logado e é possível listar também os eventos pendentes.

An in-range update of mongoose is breaking the build 🚨

The dependency mongoose was updated from 5.4.13 to 5.4.14.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

mongoose is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Commits

The new version differs by 18 commits.

  • 35b90d2 chore: release 5.4.14
  • 8dc47a5 docs(schema): add examples for remaining functions
  • 764735b fix(documentarray): report validation errors that occur in an array subdoc created using create() and then set()
  • 3fec456 test(documentarray): repro #7504
  • 660fe60 chore: remove unnecessary print statements
  • 13c7a00 docs(schema): add examples to schema functions
  • 270732e docs(migrating_to_5): link to migrating to 5 docs on the mongoosejs.com website
  • db79cfc Merge branch 'master' of github.com:Automattic/mongoose
  • 67754bd style: fix lint
  • 8e30004 Merge pull request #7530 from sarpik/master
  • 3e44bc2 Merge branch 'master' of github.com:Automattic/mongoose
  • aa43200 docs: add MongooseError to API docs and add list of error names
  • 0daf626 Merge pull request #7521 from nocksapp/master
  • 8752502 fix anchor tag
  • b5f1723 chore: now working on 5.4.14

There are 18 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

[question] Firebase x WeDeploy

Não baixei o projeto para estudá-lo e entender a implementação, mas uma coisa que me chamou a atenção no readme foi o fato de utilizar o Firebase e o Wedeploy. Qual a função do Firebase no projeto? Questiono isso, pois se a API vai ficar no wedeploy, acredito que dê pra fazer tudo com os próprio serviços deles (hosting, auth, db)

[]s

Cadastro de Eventos

É necessário desenvolver o seguinte endpoint:
POST /event - Add a new event
Esse endpoint é responsável por cadastrar um evento. Todo os eventos devem entrar com o status pendente de aprovação para que os moderadores tenham que aprovar.

  • Titulo (title)
  • Data (dateEvent)
  • Local (local)
  • CEP (zip) (Opcional)
  • Descrição (shortDescription)
  • Valor (price) [0 para eventos gatruitos]
  • Website do evento (eventLink)

Em caso de sucesso, o retorno deve ser 200. Pode se retornar 400 em caso de erro de preenchimento.

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.