ayrtonteshima / ead-api

API da plataforma de ensino a distância desenvolvida junto ao canal do YouTube Programador a Bordo
MIT License
196 stars 34 forks source link

Vamos definir o escopo que vamos desenvolver primeiro? #4

Closed programadorabordo closed 4 years ago

programadorabordo commented 5 years ago

Pessoal, Precisamos definir o coração da aplicação, o que vamos desenvolver primeiro!

Lembrando os que vai ser uma API RESTFul e com sistema de recorrência e a possibilidade também de compra de curso avulso.

Vamos agrupar os itens levantados na issue #2 em categorias de importância! As principais (ultra importante), os interessantes e os extras (não necessariamente esses nomes)

O que vocês acham que são principais, interessantes e extras?

Principais features levantadas

samuelmattos commented 5 years ago

Para inicio acredito que essas features são as mais importantes:

eustaquiofreitas commented 5 years ago

Pessoal, Precisamos definir o coração da aplicação, o que vamos desenvolver primeiro!

Lembrando os que vai ser uma API RESTFul e com sistema de recorrência e a possibilidade também de compra de curso avulso.

Vamos agrupar os itens levantados na issue #2 em categorias de importância! As principais (ultra importante), os interessantes e os extras (não necessariamente esses nomes)

O que vocês acham que são principais, interessantes e extras?

Principais features levantadas

  • Padrão SCORM
  • Catálogo de cursos
  • Aulas com diferentes mídias (vídeo, pdf, imagem, texto, quiz, etc.)
  • Gamificação
  • Ranking
  • Provas
  • Exercício online/interativo
  • Certificação
  • Chat
  • Área de dúvidas
  • Aula online
  • Sala de aula
  • Assinaturas
  • Plano mensal/semestral/anual
  • Curso único
  • Cupom de desconto
  • Ser um portal multidiomas
  • Compartilhamento social (ementas de curso, curso, etc.)
  • Rede social interna (permita interação entre os alunos, monitores)
  • Formação de grupos
  • Integração com diversos meio de pagamento
  • Simulados (correções, cartão resposta)
  • Diferentes permissionamentos (professor, aluno, admin, monitor, etc.)
  • Pontuação para alunos (ex: que ajudarem outros alunos)
  • Cadastro do aluno com apelido
  • Barra de progresso para os cursos
  • Notificação de cada curso lançado
  • Certificado digital (compatível com linkedin, entre outros?)
  • Área para abertura de chamados/tickets de suporte
  • Videoaulas off-line
  • Compra de curso/aula avulso
  • Link de indicação
  • Sala de Mentoria (Ambiente para dialogo direto ao instrutor - semelhante um reforço)
  • Biblioteca Virtual
  • Avisos - Notificações ao aluno
  • Histórico Escolar (Disciplinas Estudadas no Curso)
  • Contrato (Acordo feito com a Plataforma)
  • Boletim
  • Extrato Financeiro
  • Bloco de Anotações
vallef-meroj commented 5 years ago

Segue o que acho mais fundamental. Alguns dos itens listados até acho dispensável.

Padrão SCORM Catálogo de cursos Aulas com diferentes mídias (vídeo, pdf, imagem, texto, quiz, etc.) Provas Exercício online/interativo Certificação Área de dúvidas Assinaturas Plano mensal/semestral/anual Curso único Cupom de desconto Ser um portal multidiomas Compartilhamento social (ementas de curso, curso, etc.) Rede social interna (permita interação entre os alunos, monitores) Integração com diversos meio de pagamento Diferentes permissionamentos (professor, aluno, admin, monitor, etc.) Área para abertura de chamados/tickets de suporte Compra de curso/aula avulso Link de indicação Sala de Mentoria (Ambiente para dialogo direto ao instrutor - semelhante um reforço) Biblioteca Virtual Avisos - Notificações ao aluno Contrato (Acordo feito com a Plataforma)

vallef-meroj commented 5 years ago

Versão ainda mais enxuta do que postei acima:

Padrão SCORM Catálogo de cursos Aulas com diferentes mídias (vídeo, pdf, imagem, texto, quiz, etc.) Exercício online/interativo Certificação Assinaturas Plano mensal/semestral/anual Curso único Cupom de desconto Ser um portal multidiomas Compartilhamento social (ementas de curso, curso, etc.) Rede social interna (permita interação entre os alunos, monitores) <> Área de dúvidas Integração com diversos meio de pagamento Diferentes permissionamentos (professor, aluno, admin, monitor, etc.) Compra de curso/aula avulso Avisos - Notificações ao aluno Contrato (Acordo feito com a Plataforma)

ghost commented 5 years ago

Antes de definir as principais features, resolvi separar a aplicação em duas partes fundamentais: o curso e a central de administração nos quais formam a base de toda EAD.

Seguindo esse raciocínio, escolhi as seguintes principais features: (Já na ordem de maior importância dentro do grupo de maior importância hahaha)

=> Curso único (Ou seja, vai ser o modelo para os futuros cursos que virão). Dentro dele, colocamos:

=> Central de administração:

Na parte interessante, apenas peguei as que eu acho que agregaria maior valor para o cliente (No entanto, deixo claro que é apenas uma hipótese):

=> Para o curso:

=> Para o administrativo:

Por fim, ficaria as features para uma nova versão após o lançamento:

OBS: Não coloquei o Padrão SCORM por não ter total conhecimento sobre. Porém, pelas minhas breves pesquisas no Google, acredito que ela deveria ser na parte interessante da app.

ayrtonteshima commented 5 years ago

Antes de definir as principais features, resolvi separar a aplicação em duas partes fundamentais: o curso e a central de administração nos quais formam a base de toda EAD.

Seguindo esse raciocínio, escolhi as seguintes principais features: (Já na ordem de maior importância dentro do grupo de maior importância hahaha)

=> Curso único (Ou seja, vai ser o modelo para os futuros cursos que virão). Dentro dele, colocamos:

  • Histórico Escolar (Disciplinas Estudadas no Curso)
  • Aula online
  • Exercício online (sem a parte interativas, pois viso em entregar o mais básico possível da app nessa primeira parte)
  • Área de dúvidas
  • Provas
  • Boletim
  • Compartilhamento social (ementas de curso, curso, etc.)

=> Central de administração:

  • Assinaturas
  • Contrato (Acordo feito com a Plataforma)
  • Extrato Financeiro
  • Certificação ( Aqui adiciona tanto o certificado offline e online)
  • Diferentes permissionamentos
  • Avisos - Notificações ao aluno

Na parte interessante, apenas peguei as que eu acho que agregaria maior valor para o cliente (No entanto, deixo claro que é apenas uma hipótese):

=> Para o curso:

  • Aulas com diferentes mídias
  • Simulados (correções, cartão resposta)
  • Biblioteca Virtual
  • Videoaulas off-line
  • Barra de progresso para os cursos ( Nesse caso, seria interessante adicionar a barra de progresso para as disciplinas do curso)
  • Rede social interna (permita interação entre os alunos, monitores)
  • Chat
  • Ranking

=> Para o administrativo:

  • Catálogo de cursos
  • Plano mensal/semestral/anual
  • Integração com diversos meio de pagamento
  • Notificação de cada curso lançado
  • Área para abertura de chamados/tickets de suporte
  • Link de indicação

Por fim, ficaria as features para uma nova versão após o lançamento:

  • Cupom de desconto
  • Cadastro do aluno com apelido
  • Gamificação
  • Ser um portal multidiomas
  • Pontuação para alunos
  • Sala de Mentoria

OBS: Não coloquei o Padrão SCORM por não ter total conhecimento sobre. Porém, pelas minhas breves pesquisas no Google, acredito que ela deveria ser na parte interessante da app.

O que você respondeu me fez pensar sobre os EAD's de faculdade e tal... Só o que eu tinha na cabeça são EAD's de cursos online "normal" e não referente a uma graduação, etc. Será que muda muita coisa?

ghost commented 5 years ago

Acredito que não, brother. Se a gente for olhar até mesmo a parte mais básica de plataformas que oferecem cursos online de assuntos extracurriculares — Como a Udemy — notamos esse mesmo padrão. Ou pelo menos, assim eu consigo notar.

rrodhrigues commented 5 years ago

Observando o que o guilherme3s propôs, estruturalmente muitos cursos online trabalham assim usando micro-serviços, olhando o design dele, imagino que teríamos módulos (administrativo, cursos, exames . . .), para assim compor uma plataforma maior, seria essa a ideia ?

ghost commented 5 years ago

Exatamente essa é minha ideia, @rrodhrigues !

ayrtonteshima commented 5 years ago

É por esse caminho mesmo, vejam essa referência que tenho que comentei em outra issue: https://api.eadbox.com/

ghost commented 5 years ago

Perfeito essa referência!

kanellson commented 5 years ago

Opa eu ja vi o Ayrton mencionar não me lembro onde e quando mas, o ponto forte seria começar a criar a api e ir integrando componentes, ou se seja começar e implementar.

ayrtonteshima commented 5 years ago

Opa eu ja vi o Ayrton mencionar não me lembro onde e quando mas, o ponto forte seria começar a criar a api e ir integrando componentes, ou se seja começar e implementar.

Uma coisa que comentei, não lembro onde e também se é isso que você está se referindo, era ter o modelo/contrato de toda a API, pois aí dá pra fazer o admin ao mesmo tempo que desenvolve a API :)

ayrtonteshima commented 5 years ago

Uma coisa legal também da API seria ela ser Multitenancy