Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
f54d837
Inicio do projeto. Componentes, paginas e serviços primario criados
Riderxyz Oct 1, 2018
5c97680
DashBoard em 27%
Riderxyz Oct 2, 2018
22511ae
acerto na responsividade
Riderxyz Oct 2, 2018
d593b7d
criando campo input nos modals
Riderxyz Oct 3, 2018
679ff3e
backEnd iniciado
Riderxyz Oct 3, 2018
937c2ae
controllers adicionados
Riderxyz Oct 3, 2018
31ff54d
Auto stash before merge of "master" and "origin/master"
Riderxyz Oct 3, 2018
8056fec
Utilizando o JWT
Riderxyz Oct 4, 2018
23ee3fc
preparando pra decodificar e estipular o tempo limite do token
Riderxyz Oct 4, 2018
1c98b10
jwt em 50%
Riderxyz Oct 4, 2018
44a0620
modificações no frontENd. tela de Login a ser criada
Riderxyz Oct 5, 2018
0c371c9
Iniciando modificações finais
Riderxyz Oct 5, 2018
ed31031
grafico aparecendo sem problemas
Riderxyz Oct 6, 2018
79bb55b
jwt em 50%
Riderxyz Oct 6, 2018
13cf573
front End em 30%
Riderxyz Oct 6, 2018
9a07b04
Modals completo. Dropdowns em 20%
Riderxyz Oct 8, 2018
60a26f6
grafico com mais detalhes quase completo
Riderxyz Oct 8, 2018
a050267
acerto de erro quanto ao camelCasing
Riderxyz Oct 8, 2018
8f2fb91
Pendente: exclusão e tela de inclusão
Riderxyz Oct 8, 2018
81315be
backEnd em 60%
Riderxyz Oct 8, 2018
305dc4f
pendente função de login no BackEnd e exclusão de Curso.
Riderxyz Oct 9, 2018
0a023b1
Entrega
Riderxyz Oct 9, 2018
6be4da6
movendo para aws. Fotos do banco de dados irão no proximo upload
Riderxyz Oct 26, 2018
d9a3438
Quase pronto para a entrega
Riderxyz Oct 26, 2018
f3d1e01
Entrega
Riderxyz Oct 26, 2018
ae90175
Entrega. Agr usando o DynamoDB, ApiGateway e funções lambda da AWS
Riderxyz Oct 26, 2018
350c4b0
Merge remote-tracking branch 'origin/master'
Riderxyz Oct 26, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@

BackEnd/node_modules/
FrontEnd/node_modules/
Binary file added BackEnd/.DS_Store
Binary file not shown.
110 changes: 110 additions & 0 deletions BackEnd/api/controllers/cursos.controller.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
'use strict'
module.exports = function (ctx) {
const fs = require('fs'),
path = require('path'),
cursoJsonPath = path.join(__dirname, 'cursos.json'),
graficoJsonPath = path.join(__dirname, 'grafico.json');

const Arr_professor = [];
const Arr_sala = [];
const db = ctx.db,
server = ctx.server

const collection = db.collection('todos')


this.criarCurso = ((req, res, next) => {
const add = {
"id": Number(req.params.id),
"sala": req.params.sala,
"professor": req.params.professor,
"materia": req.params.materia,
"horaInicial": req.params.horaInicial,
"horaFinal": req.params.horaFinal
}
let rawdata = fs.readFileSync(cursoJsonPath);
const Arr_curso = JSON.parse(rawdata);
Arr_curso.push(add)
fs.writeFile(cursoJsonPath, JSON.stringify(Arr_curso, null, 2), ((err) => {
if (err) {
res.send(err);
} else {
const resultado = {
result: 'Item adicionado com Sucesso',
item: element
}
res.send(resultado)
}
}))
})

this.listarCurso = ((req, res, next) => {
let rawdata = fs.readFileSync(cursoJsonPath);
const Arr_curso = JSON.parse(rawdata);
res.send(Arr_curso)
})

this.atualizarCurso = ((req, res, next) => {
let rawdata = fs.readFileSync(cursoJsonPath);
const Arr_curso = JSON.parse(rawdata);
console.log('Entrei em atualizar curso');
for (let i = 0; i < Arr_curso.length; i++) {
const element = Arr_curso[i];
if (element.id === Number(req.params.id)) {
element.id = Number(req.params.id);
element.sala = Number(req.params.sala);
element.professor = req.params.professor;
element.materia = req.params.materia;
element.horaInicial = req.params.horaInicial;
element.horaFinal = req.params.horaFinal;
fs.writeFile(cursoJsonPath, JSON.stringify(Arr_curso, null, 2), ((err) => {
if (err) {
res.send(err);
} else {
console.log('writing aasasto ' + cursoJsonPath);
/* res.send('item adicionado?') */
const resultado = {
result: 'Item editado com Sucesso',
item: element
}
res.send(resultado)
}
}));
}
}
})

this.deletarCurso = ((req, res, next) => {

})

this.grafico = ((req, res, next) => {
let rawdata = fs.readFileSync(path.join(__dirname, 'grafico.json'));
const grafico = JSON.parse(rawdata);;
res.send(grafico)
})

this.getProfessor = ((req, res, next) => {
for (let i = 0; i < Arr_curso.length; i++) {
const element = Arr_curso[i];
if (Arr_professor.indexOf(element.professor) <= -1) {
Arr_professor.push(element.professor);
} else {
console.log('N adiciona');
}
}
res.send(Arr_professor)
})
this.getSala = ((req, res, next) => {
for (let i = 0; i < Arr_curso.length; i++) {
const element = Arr_curso[i];
if (Arr_sala.indexOf(element.sala) <= -1) {
Arr_sala.push(element.sala);
} else {
console.log('N adiciona');
}
}
res.send(Arr_sala)
})
}
/* module.exports = new Cursos(ctx) */
90 changes: 90 additions & 0 deletions BackEnd/api/controllers/cursos.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
[
{
"id": 1,
"sala": 126,
"professor": "Morlee Elt",
"materia": "Portugues",
"horaInicial": "Tue Oct 09 2018 11:06:18 GMT-0300 (Horário Padrão de Brasília)",
"horaFinal": "Tue Oct 09 2018 12:06:18 GMT-0300 (Horário Padrão de Brasília)"
},
{
"id": 2,
"sala": 107,
"professor": "Benedetto Backler",
"materia": "Portugues",
"horaInicial": "Tue Oct 09 2018 10:21:16 GMT-0300 (Horário Padrão de Brasília)",
"horaFinal": "Tue Oct 09 2018 17:21:20 GMT-0300 (Horário Padrão de Brasília)"
},
{
"id": 3,
"sala": 279,
"professor": "Miltie Jiru",
"materia": "Matematica",
"horaInicial": "Tue Oct 09 2018 14:01:34 GMT-0300 (Horário Padrão de Brasília)",
"horaFinal": "Tue Oct 09 2018 20:01:35 GMT-0300 (Horário Padrão de Brasília)"
},
{
"id": 4,
"sala": 228,
"professor": "Lara Dod",
"materia": "Geografia",
"horaInicial": "Tue Oct 09 2018 11:01:47 GMT-0300 (Horário Padrão de Brasília)",
"horaFinal": "Tue Oct 09 2018 15:04:50 GMT-0300 (Horário Padrão de Brasília)"
},
{
"id": 5,
"sala": 279,
"professor": "Jordain Sivier",
"materia": "Historia",
"horaInicial": "Tue Oct 09 2018 13:03:04 GMT-0300 (Horário Padrão de Brasília)",
"horaFinal": "Tue Oct 09 2018 17:03:04 GMT-0300 (Horário Padrão de Brasília)"
},
{
"id": 6,
"sala": 228,
"professor": "Borden Yorke",
"materia": "Artes",
"horaInicial": "Tue Oct 09 2018 09:03:04 GMT-0300 (Horário Padrão de Brasília)",
"horaFinal": "Tue Oct 09 2018 16:03:04 GMT-0300 (Horário Padrão de Brasília)"
},
{
"id": 7,
"sala": 126,
"professor": "Lincoln Spyer",
"materia": "Sociologia",
"horaInicial": "Tue Oct 09 2018 13:02:01 GMT-0300 (Horário Padrão de Brasília)",
"horaFinal": "Tue Oct 09 2018 21:03:04 GMT-0300 (Horário Padrão de Brasília)"
},
{
"id": 8,
"sala": 198,
"professor": "Madeleine Beckinsale",
"materia": "Filosofia",
"horaInicial": "Tue Oct 09 2018 16:03:04 GMT-0300 (Horário Padrão de Brasília)",
"horaFinal": "Tue Oct 09 2018 20:13:04 GMT-0300 (Horário Padrão de Brasília)"
},
{
"id": 9,
"sala": 271,
"professor": "Sauveur Shortland",
"materia": "Matematica",
"horaInicial": "Tue Oct 09 2018 15:02:16 GMT-0300 (Horário Padrão de Brasília)",
"horaFinal": "Tue Oct 09 2018 20:02:19 GMT-0300 (Horário Padrão de Brasília)"
},
{
"id": 10,
"sala": 271,
"professor": "Winnie Bould",
"materia": "Artes",
"horaInicial": "Tue Oct 09 2018 19:00:04 GMT-0300 (Horário Padrão de Brasília)",
"horaFinal": "Tue Oct 09 2018 22:03:04 GMT-0300 (Horário Padrão de Brasília)"
},
{
"id": 11,
"sala": "228",
"professor": "Lincoln Spyer",
"materia": "Matematica",
"horaInicial": "Tue Oct 09 2018 13:26:20 GMT-0300 (Horário Padrão de Brasília)",
"horaFinal": "Tue Oct 09 2018 16:26:22 GMT-0300 (Horário Padrão de Brasília)"
}
]
7 changes: 7 additions & 0 deletions BackEnd/api/controllers/grafico.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[{
"matematica": 845,
"portugues": 923,
"geografia": 942,
"historia": 884,
"Artes": 450
}]
44 changes: 44 additions & 0 deletions BackEnd/api/controllers/login.controller.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
const jwt = require('jsonwebtoken')

exports.handler = function index(event, context, callback) {

let permissions = ''
timeToExpire = '2 days'
const secret = Math.random().toString(36).substr(2, 9)
const user = {
id: Math.random().toString(36).substr(2, 9),
name: event.usuario,
password: event.senha,
LoggedIn: new Date()
}
console.log('indo para sign do jwt');
if (event.usuario === 'CelsoLisboa') {
permissions = 'Adm';
} else {
permissions = 'Funcionario';
}
jwt.sign({
user: user,
permissions: permissions
}, secret, {
expiresIn: timeToExpire
}, (err, token) => {
let result = {
id: secret,
Token: token,
expiresIn: timeToExpire,
}
callback(err, result)
console.log('dentro do sign');
console.log('header', isValid);
})
}

/*
this.verifyLogin = ((req, res, next) => {
console.log('Dentro de verify', req.header('Authorization'));
const token = req.header('Authorization')
const TokenDecoded = jwt.decode(token)
res.send(TokenDecoded)

}) */
14 changes: 14 additions & 0 deletions BackEnd/api/models/getData.model.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
module.exports = function(app) {
const getData = require('../controllers/cursos.controller');
// getData Routes
app.route('/tasks')
.get(getData.list_all_tasks)
.post(getData.create_a_task);


app.route('/tasks/:taskId')
.get(getData.read_a_task)
.put(getData.update_a_task)
.delete(getData.delete_a_task);
};

Empty file.
17 changes: 17 additions & 0 deletions BackEnd/aws/deletecursos.lambda.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
var AWS = require('aws-sdk'),
documentClient = new AWS.DynamoDB.DocumentClient();

exports.handler = function index(event, context, callback) {
console.log(event)

var params = {
TableName: process.env.TABLE_NAME,
Key: {
id: event.id
}
};
documentClient.delete(params, function (err, data) {
console.log('o q temos aqui?', data);
callback(err, 'Item Deletado');
});
};
16 changes: 16 additions & 0 deletions BackEnd/aws/getcursos.lambda.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
var AWS = require('aws-sdk'),
documentClient = new AWS.DynamoDB.DocumentClient();

exports.handler = function index(event, context, callback) {
console.log(event);
var params = {
TableName: process.env.TABLE_NAME
};
documentClient.scan(params, function (err, data) {
if (err) {
callback(err, null);
} else {
callback(null, data);
}
});
};
16 changes: 16 additions & 0 deletions BackEnd/aws/getgrafico.lambda.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
var AWS = require('aws-sdk'),
documentClient = new AWS.DynamoDB.DocumentClient();

exports.handler = function index(event, context, callback) {


const rawdata = [{
"matematica": 845,
"portugues": 923,
"geografia": 942,
"historia": 884,
"Artes": 450
}]

callback(null, rawdata[0])
}
29 changes: 29 additions & 0 deletions BackEnd/aws/getprofessor.lambda.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
var AWS = require('aws-sdk'),
documentClient = new AWS.DynamoDB.DocumentClient();

exports.handler = function index(event, context, callback) {
console.log(event);
var params = {
TableName: process.env.TABLE_NAME
};
documentClient.scan(params, function (err, data) {
if (err) {
callback(err, null);
}
else {
const arr_Data = data.Items;
const Arr_professor = [];

for (let i = 0; i < arr_Data.length; i++) {
const element = arr_Data[i];
if (Arr_professor.indexOf(element.professor) <= -1) {
Arr_professor.push(element.professor);
}
else {
console.log('N adiciona');
}
}
callback(null, Arr_professor);
}
});
};
Loading