school-management-api

所属分类:论文
开发工具:Java
文件大小:505KB
下载次数:0
上传日期:2017-06-07 22:27:18
上 传 者sh-1993
说明:  这是一个管理学校的学术项目
(This is an academic project to manage schools)

文件列表:
.classpath (1195, 2017-06-08)
.idea (0, 2017-06-08)
.idea\compiler.xml (650, 2017-06-08)
.idea\encodings.xml (172, 2017-06-08)
.idea\kotlinc.xml (232, 2017-06-08)
.idea\misc.xml (2737, 2017-06-08)
.idea\modules.xml (278, 2017-06-08)
.idea\vcs.xml (180, 2017-06-08)
.idea\workspace.xml (27905, 2017-06-08)
.mvn (0, 2017-06-08)
.mvn\wrapper (0, 2017-06-08)
.mvn\wrapper\maven-wrapper.jar (49502, 2017-06-08)
.mvn\wrapper\maven-wrapper.properties (110, 2017-06-08)
.project (544, 2017-06-08)
.settings (0, 2017-06-08)
.settings\org.eclipse.core.resources.prefs (150, 2017-06-08)
.settings\org.eclipse.jdt.core.prefs (238, 2017-06-08)
.settings\org.eclipse.m2e.core.prefs (86, 2017-06-08)
.vscode (0, 2017-06-08)
.vscode\settings.json (142, 2017-06-08)
LICENSE (1072, 2017-06-08)
academic-management.iml (8814, 2017-06-08)
docs (0, 2017-06-08)
docs\class-diagram.png (452541, 2017-06-08)
docs\usercase_aluno.png (27223, 2017-06-08)
docs\usercase_coordenador.png (27314, 2017-06-08)
docs\usercase_professor.png (34813, 2017-06-08)
pom.xml (2966, 2017-06-08)
src (0, 2017-06-08)
src\main (0, 2017-06-08)
src\main\java (0, 2017-06-08)
src\main\java\br (0, 2017-06-08)
src\main\java\br\fameg (0, 2017-06-08)
src\main\java\br\fameg\edu (0, 2017-06-08)
src\main\java\br\fameg\edu\Application.java (304, 2017-06-08)
src\main\java\br\fameg\edu\domain (0, 2017-06-08)
src\main\java\br\fameg\edu\domain\model (0, 2017-06-08)
... ...

# Academic Management A RESTful API to manage a college application. # What do I use - Spring Boot - Spring Data JPA # DataBase configuration You'll need to have an user in your database called `springuser` and set his password as `123`. After having this user you need to guarantee all previleges to change the database. Now, just create the database `academic_management`, then you'll be able to build and run the project. # First release It should only respond to HTTP requests through tools like `curl` or [Postman](https://www.getpostman.com/). # Requisitos Funcionais - O sistema deve permitir o cadastramento de, Alunos, Disciplinas, Turmas, Professores, Provas, Trabalhos academicos e Matriculas. - O sistema deve permitir a consulta do historico de disciplinas matriculadas por aluno; - O sistema podera ser utilizado por alunos, professores e coordenadores da instituicao; - Somente coordenadores podem manter alunos, disciplinas, turmas e professores; - Alunos podem matricular-se em disciplinas; - Alunos podem solicitar trancamentos de disciplina e semestre; - Alunos podem consultar o historico de matriculas e trancamentos; - Somente Professores podem fazer agendamentos de provas e trabalhos academicos; - Professores podem agendar provas e trabalhos; - Professores podem cadastrar notas para trabalhos. # Requisitos nao Funcionais - O sistema devera realizar quaisquer operacoes disponiveis nos requisitos funcionais deste documento atraves de uma API RESTful; - O sistema devera ser hospedado em um ambiente cloud; - Escrita de testes unitarios para os endpoints. - O banco de dados a ser utilizado devera ser o MariaDB. # Casos de uso elaborados ![Use case Coordenador](https://raw.githubusercontent.com/LucasKr/school-management-api/master/docs/usercase_coordenador.png) ![Use case Aluno](https://raw.githubusercontent.com/LucasKr/school-management-api/master/docs/usercase_aluno.png) ![Use case Professor](https://raw.githubusercontent.com/LucasKr/school-management-api/master/docs/usercase_professor.png) CRUD: - Descricao: Persiste dados no banco de dados. - Cenario principal: -- O ator envia informacoes correspondente ao model do dominio salvando no banco de dados. -- O ator atraves de um identificador consegue alterar a informacao. -- O ator atraves de um identificador consegue deletar a informacao. -- O ator consegue obter os dados. - Pos condicao: Ter a informacao da tabela manipulada. 1) Manter alunos: semelhante a CRUD. * Descricao: Persistencia das informacoes de alunos. * Ator: Coordenador 2) Manter disciplinas: semelhante a CRUD. * Descricao: Persistencia das informacoes de disciplina. * Ator: Coordenador 3) Manter turmas: semelhante a CRUD. * Descricao: Persistencia das informacoes de Turmas. * Ator: Coordenador 4) Manter professores: semelhante a CRUD. * Descricao: Persistencia das informacoes de professores; * Ator: Coordenador. 5) Realizar matricula: Possibilita uma matricula no sistema. * Descricao: Realiza uma matricula em uma Disciplina para um determinado Aluno. * Ator: Aluno. * Pre condicao: Aluno estar identificado no sistema. * Cenario principal: 1. O aluno informa a disciplina que esta se matriculando. 2. O aluno informa o semestre que esta atualmente. 3. Junto das informacoes de identificacao do aluno serao enviadas informacoes de turma. * Pos condicao: Associa o aluno a uma disciplina. 6) Consultar historico disciplinas * Descricao: Obtem o historico de disciplinas matriculadas para o aluno. * Ator: Aluno * Cenario principal: 1. Atraves de uma identifiacao do aluno, e possivel consultar informacoes de todas as matriculas ja registradas para o aluno. * Pos condicao: Consulta todas as matriculas registradas para o aluno. 7) Solicitar trancamento da disciplina: * Descricao: Possibilitar trancar a disciplina. * Ator: Aluno * Cenario principal: 1. Envia a informacao da matricula, com a flag de trancada igual a verdadeiro. * Pos condicao: Tranca a matricula para a disciplina 8) Agendar trabalhos * Descricao: Agenda trabalhos * Ator: Professor * Cenario principal: 1. Professor informa a descricao do trabalho 2. Informa a data de entrega 3. Indica como nao obrigatorio * Pos condicao: Agenda o trabalho 9) Agendar provas * Descricao: Agenda prova * Ator: Professor * Cenario principal: 1. Professor informa a descricao do trabalho 2. Informa data para o trabalho 3. Indica como obrigatorio * Pos condicao: Agenda o trabalho como sendo obrigatorio 10) Cadastrar notas: Semelhante a crud. * Descricao: Salva uma nota para um trabalho * Ator: Professor * Cenario principal: 1. Identifica o trabalho 2. Envia informacoes do trabalho com a nova nota * Pos condicao: Nota e alterada 11) Manter presencas * Descricao: Da presenca ou falta para um aluno * Ator: Professor * Cenario principal: 1. Identifica o aluno 2. Identifica a disciplina 3. Informa a data 4. Indica como presente * Cenario secundario: 4. Indica como nao presente. * Pos condicao: Marca presenca para o aluno. # Later It should have a client-side application built in a JS Framework (either Angular.js or React.js and its libraries) # Contributors - [Matheus Eduardo](https://github.com/eduardosmatheus) - [Lucas Kruger](https://github.com/LucasKr)

近期下载者

相关文件


收藏者