Você está na página 1de 2

Gym Reschedule

O objetivo deste desafio é criar um sistema Console Based para cadastro de alunos de uma
academia e gestão dos horários das aulas.

A academia fica aberta de segunda a sexta, das 08:00 as 12:00 e 15:00 as 22:00, então cada
turma deverá se enquadrar a este horário.

Cada turma deverá ter no máximo 10 alunos, então no cadastro deverá ser previsto este
limite.

Nesta academia, cada aluno tem um horário fixo durante os dias da semana.

Cada aula tem exatamente 1 hora de duração.

O sistema deverá apresentar uma interface console com um menu de seleção.

Os requisitos de software estão abaixo:

Requisitos:

1. O sistema deverá apresentar uma interface de seleção intuitiva com informações


úteis.
2. O sistema deverá persistir as informações em um ou mais arquivos CSV.
3. Ao iniciar o programa, o sistema deverá perguntar se o usuário é um aluno ou é um
funcionário.
a. Se for um aluno, o mesmo deverá informar seu usuário e senha para logar no
sistema.
b. Se for um funcionário, o mesmo deverá informar o id: “4513956”.

As funções abaixo se referem exclusivamente ao funcionário:

1. O usuário poderá cadastrar as turmas


a. Cada turma deverá ter as seguintes informações:
i. Id único gerado automaticamente
ii. Horário
iii. Número máximo de alunos
2. O usuário poderá cadastrar os alunos.
a. Cada aluno deverá informar:
i. Nome
ii. Senha
iii. Idade
iv. Telefone
v. E-mail
vi. Dias que irá treinar
vii. Qual a turma
b. Ao final do cadastro deverá ser gerado um ID único para este aluno.
3. O usuário poderá consultar os dados de um aluno e ver em qual turma está
registrado
As funções abaixo se referem ao aluno e ao funcionário:

1. O usuário poderá consultar as turmas cadastradas e se for um funcionário o


mesmo poderá verificar os alunos registrados nesta turma.
2. O usuário poderá ver seus dados de cadastro.
3. O usuário poderá ver os horários disponíveis no dia selecionado.
a. Para ver o número de vagas em uma turma, deverá ser considerado que
há alunos que não treinam em todos os dias da semana.
4. O usuário poderá se cadastrar em uma turma disponível
a. A turma selecionada no dia selecionado deverá ter vagas disponíveis.
b. O usuário não poderá selecionar mais de uma vez na semana um novo
agendamento de aula.

Serão avaliados os seguintes itens:

1. Design
2. Arquitetura
3. Facilidade de uso
4. Qualidade do Código

O sistema deverá ser feito em Java, utilizando a interface do Console.

Após a conclusão o projeto deverá ser exportado como ZIP e armazenado no SFTP.