ONCOURSE

Sistema de ensino a distância

https://renan.tsi.pro.br/

Sobre

     Oncourse é um sistema de ensino a distância com suporte a dois idiomas (português e inglês). Nele o professor pode gerenciar seus cursos, com as seguintes possibilidades: cadastrar textos, imagens, documentos, enviar email para os alunos sobre um curso novo e visualizar estatísticas do sistema. Além disso, no sistema os alunos podem visualizar os cursos disponíveis, realizar o cadastro no mesmo, tendo a opção de checar o seu progresso, e receber informações em tempo real sobre novos cursos inseridos no sistema.

  • Papéis
  • Artefatos
  • Eventos

Metodologia Scrum 

  • Product Owner
  • Scrum Master
  • Development Team

Papéis

  • Product Backlog
  • Sprint Backlog
  • Product Increment

Artefatos

  • Sprint
  • Sprint planning
  • Sprint review
  • Sprint retrospective

Eventos

  • Devise
  • Kaminari
  • Carrierwave
  • Faker
  • Bootstrap progressbar
  • Chartkick

Gems 

  • Usuários do sistema
  • Relações 1xN - NxN
  • Realtime
  • Upload de imagens/documentos
  • Notificações via email

Desenvolvimento

  • Admin (Professor)
  • Usuário (Aluno)
  • Público

Usuários do sistema

  • Um professor pode ministrar vários cursos. Cada curso é ministrado por apenas um professor.

Relação 1xN 

class User < ApplicationRecord
  has_many :courses
end

class Course < ApplicationRecord
  belongs_to :user
end

  • Cada curso pode ter vários alunos. Um aluno pode matricular-se em vários cursos.

Relação NxN 

class Course < ApplicationRecord
  has_many :subscriptions
end


class User < ApplicationRecord
  has_many :subscriptions, :dependent => :delete_all
end
  • Quando um novo curso está disponível, o mesmo aparece em tempo real na dashboard dos usuários.

Realtime

Upload de imagens/documentos

Notificação via email

Dinâmica

  • Admin (Professor)
  • Cadastro para os alunos (https://renan.tsi.pro.br/users/sign_up)
  • Professor criar curso, lições e conteúdo referente ao mesmo.
  • Alunos receberem notificação em tempo real.
  • Inscrição dos alunos no curso, visualizar lições e conteúdos do curso, marcar progresso.
  • Professor enviar email para alunos sobre um curso novo.

Dificuldades

  • Adaptação com o git
  • Desenvolver o sistema em pouco tempo
  • Adaptação com ambiente de servidor

Estatísticas sobre o desenvolvimento

  • 118 horas totais no desenvolvimento
  • 39 tarefas concluídas
  • 58 testes realizados
  • 35 Pull Requests fechadas
  • 200 commits realizados

Obrigado!

Dúvidas?

Made with Slides.com