## Especificações
Este job consiste em criar toda a estrutura de back-end necessária para execução de código remoto pelos usuários dentro dos cursos. Precisamos de uma estrutura com várias camadas de segurança para que este código possa ser executado de uma forma segura em nossos servidores, prevenindo quaisquer tipos de código maliciosos que possam ser enviados pelo usuário. Por isso, estamos procurando profissionais mais experientes para este projeto que tenham conhecimento de infra e segurança neste tipo de execução.
A entrega consiste no código estruturado e documentado no nosso Github e também de toda a documentação de APIs que será gerada pelo código bem como documentações extras que podem vir a ser necessárias, como por exemplo instruções detalhadas de como fazer o deploy da aplicação.
Como a Asto será uma plataforma SaaS por subscrição, essa ferramenta deve ser escalável. Isso significa que ela deve possuir uma API capaz de criar diversos projetos para diferentes alunos. A ideia inicial é que quando um aluno comece um curso, deve-se criar um projeto utilizando um template para aquele aluno.
Assim, posteriormente, ele poderá editar o código através de APIs também, executar e receber o input do resultado da execução.
Inicialmente, a ferramenta deve suportar projetos de:
- Python (nossos primeiros cursos serão em Flask)
-
Node.js
- Código html, css e js. Obs: Sabemos que neste caso o código não é executado no servidor mas sim no browser. Porém, a API deve suportar também a criação destes projetos para armazenamento do código dos projetos de cada curso.
E a api deve ser capaz de suportar:
- crud básico dos projetos com boilerplates para as diferentes linguagens e aplicações
- cada projeto pode contar com múltiplos arquivos e pastas
- execução de código do projeto
- edição do conteúdo dos arquivos do projeto, após eles serem criados.
- Fácil criação de boilerplates de projetos para expansão e execução de outras ferramentas além das citadas acima no futuro.
## Observações
- Será uma aplicação separada do nosso back-end principal (que hoje é feito em Python Django). Portanto, deve ser um serviço encapsulado separado.
- Nossos servidores estão na AWS, portanto essa aplicação a princípio vai rodar em uma instância EC2.
Caso tenha alguma outra sugestão, pode indicar.
- Preferencialmente deve-se usar Python Django ou
Node.js para construção dessa plataforma. Caso seja necessário alguma outra ferramenta (ou alguma outra possa fazer isso melhor), pode indicar e sugerir pra gente, sem problemas.
Contexto Geral do Projeto
A Asto é (ou será, em breve!) uma plataforma de educação online de tecnologia onde os alunos poderão aprender através de uma metodologia de ensino inovadora e de projetos de tecnologia com clientes reais.
A aplicação inicialmente consistirá em uma plataforma onde os alunos terão acesso aos cursos através de um modelo de assinatura e um painel de freelancers exclusivo. Os alunos que completarem os cursos terão acesso a este painel para poder aprender na prática a aplicar seus conhecimentos e também ter a oportunidade de criar uma renda extra utilizando tudo o que foi aprendido, tudo com supervisão e suporte da Asto.
Em anexo você pode baixar o PDF para ver como vai ser a tela do curso para ter uma ideia melhor do projeto.
Prazo de Entrega: 20 de Dezembro de 2021