AccessLog-API
accesslog-api's Introduction
accesslog-api's People
accesslog-api's Issues
Acrescentar todas as requisições
Deve ser colocado o arquivo de importação do postman com as requisições da API
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 endpoints para cálculos de números
Criar várias funcões GET, para fazer multiplicação de 2 numeros, divisão de 2 numeros e adião de 2 numeros.
Exemplo:
http://localhost:3000/soma/1/2 -> Resultado: { soma: 3 }
http://localhost:3000/multiplicacao/1/3 -> Resultado: { multiplicação: 3 }
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.
Deploy para o Heroku
O Projeto deve ser colocado no heroku.
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
- 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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.