Giter Site home page Giter Site logo

accesslog-api's Introduction

AccessLog-API

accesslog-api's People

Contributors

ryancarlos677 avatar

Watchers

James Cloos avatar

accesslog-api's Issues

Criar Projeto

O Projeto deve ser criado utilizando o npm, a fim de configurar o nome do projeto, a descrição, os autores e a url do repositório.

Baixar Dependências

O projeto necessita instalação de dependências listadas abaixo:

  • express
  • cors
  • body-parser
  • mongoose
  • axios

Endpoint de pesquisa

Descrição

Projeto deve ter um endpoint para buscar uma lista de acessos através de resource e usuário, os parâmetros serão enviados como query:

  • resourceId
  • userId
    O Retorno deverá ter os valores:
{
        "meta": {
		"succes": true
	},
	"data": {
		"access": ["lista de acessos do banco de dados"],
		"count": 1000,
		"perMonth": ["lista de objetos de resources com quantidade de acessos"]
	}
}

Criar rotas para acesso da API

O projeto deve ter suas rotas configuradas conforme a necessidade, para inicio rápido optamos por ser a rota: 'acesso'. Esta deve ter todos seus verbos http.

Atenção para o POST, pois deve receber um JSON contendo usuario, dispositivo, resource e locale.

Criar banco de dados

O projeto deve ter banco de dados configurado para utilizar o mongoDB. Assim seguindo o diagrama disponibilizado na pasta img deste repositório.

Criar container

O projeto deve estar contido em um container docker, junto com as devidas configurações de banco de dados. para isso deve baixar o docker e criar seu DockerFile e docker-compose.yml

Endpoint de criação de acesso

Descrição

Este endpoint receberá um body e terá a função de inserir estes dados no banco de dados.

Falta mapear a entrada de dados, será feita em CALL

A resposta de retorno segue como o exemplo:

{
        "meta": {
		"succes": true
	}
}

Configurar Models

O projeto consiste em 4 models com seus respectivos parâmetros:

user

Objeto o qual representará o usuário.

Parâmetros

  • userId
  • username
  • email
  • created_at

access

Objeto o qual representará um acesso.

Parâmetros

  • accessId
  • userId
  • resourceId
  • deviceId
  • created_at

resource

Objeto o qual representará o lugar o qual está acontecendo o acesso

Parâmetros

  • resourceId
  • name
  • url
  • created_at
  • id_preotected

device

Objeto o qual representará o client

Parâmetros

  • deviceId
  • name
  • ip
  • created_at

Exemplo de como criar um model:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var uuid = require('uuid');

var UserSchema = new Schema({
    _id: { type: String, default: uuid.v1 },
    displayName: { type: String },
    email: { type: String },
    password: { type: String },
    active: { type: Boolean, default: true }
}, { versionKey: false });

module.exports = mongoose.model('user', UserSchema);

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.