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)
近期下载者:
相关文件:
收藏者: