Giter Site home page Giter Site logo

fit-dreams's People

Contributors

davidsongm avatar

Watchers

 avatar

fit-dreams's Issues

Model de usuário

Criar a model User usando o devise:

  • Campos: name (string), birthdate (date), email (string), encrypted_pasword (string), authentication_token (string)
    • Ao criar a model com o devise, os campos de email, senha, senha encriptada já vem automaticamente
    • Para o token de autenticação, usar a gem simple token authentication (ou pesquisar outra caso seja usado o rails 7, que a gem ainda não suporta)
  • Relações: belongs_to role, has_many classes through StudentsClasses (caso estudante) e has_many classes (caso professor)
  • Testes RSpec + Validações
    • Presença dos campos nome, data de nascimento e email;
    • Data de nascimento anterior à atual;
    • Formato do email e da data de nascimento.

Model Aulas dos Alunos

Criar a model associativa Lesson (StudentClass):

  • Relações: belongs_to user e belongs_to gym_class.
  • Testes RSpec + Validações
    • Apenas usuário da role aluno pode estar relacionado a essa model
    • Um mesmo aluno não pode estar matriculado na mesma turma mais de uma vez.

Controller de categoria

Criar a controller CategoriesController + Testes

Métodos:

Aberto a todos:

  • Index
  • Show

Limitado ao admin e ao professor:

  • Update
  • Delete
  • Create

Model Aula

Criar a model GymClass (Já que Class é palavra reservada do rails):

  • Campos: name (string), start_time (time), duration (integer), description (text);
    • A duração será dada em minutos
  • Relações: belongs_to user, has_many students through Lessons e belongs_to category;
  • Testes RSpec + Validações
    • Presença dos campos;
    • Duração > 0;
    • Presença de professor e categoria;
    • Formato do horário de início
    • teacher_id deve ser de um user professor

Controller de Usuário

Criar a controller UsersController e fazer os testes, com os métodos:

  • Sign_up
  • Sign_in
  • Show
    • Mostrar todas as aulas do usuário
  • Update
  • Delete
  • Student_index
  • Teacher_index

Model tipo usuário

Criar a model Role:

  • Campo único: name (string)
  • Relação: has_many users
  • Criar as roles por seed
  • Testes RSpec + Validações
    • Unicidade de nome
    • Valores possíveis para nome: aluno, professor ou admin

Model Categoria

Criar a model Category:

  • Campos: name (string), description (text);
  • Relações: has_many gym_classes
  • Testes RSpec + Validações
    • Presença dos campos nome e descrição;

Controller de Aulas

Criar a controller ClassesController + testes

Métodos:

Limitados a admin/teacher

  • Create
  • Update
  • Destroy

Abertos a todos

  • Show
    • Mostrar Todos os alunos da turma e o professor separadamente
  • Index

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.