npm run dev
- Next.js
- Chakra UI
- Typescript
- SQLite w/ Prisma
A empresa Threewygo é uma empresa inovadora no mundo da educação online e estava determinada a criar a melhor plataforma de cursos de treinamento do mercado. Você, enquanto pessoa desenvolvedora, possui a missão de auxiliar essa empresa a realizar este desafio.
O Gerente de Produto(GP) apresentou à equipe (Dev) a demanda que foi aprovada pelo Comitê de Produto, seguindo a seguinte solicitação:
(GP): Olá, desenvolvedores. Tenho uma nova demanda para vocês. Precisamos criar uma tela inicial que seja responsiva em dispositivos móveis e que exiba todos os cursos que ainda estão ativos, ou seja, aqueles cuja data de término não foi ultrapassada, com os títulos e descrições dos cursos. O que você acha disso?
(Dev): Olá, GP. Entendi o requisito. Parece uma adição importante para melhorar a experiência do usuário.
(GP): Ótimo, a responsividade é fundamental. Além disso, é importante lembrar que em todos os cursos é possível visualizar um ou vários vídeos. Certifique-se de que a experiência de visualização de vídeos também seja otimizada para atender às necessidades dos nossos usuários. Certo?
(Dev): Entendido, GP. A responsividade da visualização de vídeos também será prioridade no desenvolvimento. Vou garantir que os vídeos sejam reproduzidos de forma fluida e que a interface seja adaptada para proporcionar uma experiência de usuário agradável em todos os dispositivos.
Obs: Essa é uma história fictícia, criada para facilitar a compreensão dos requisitos, não estamos vinculados ao diálogo de desenvolvedores. Use sua criatividade e conhecimentos para montar as telas de cadastros e listagens ✏️
Os requisitos para esse projeto são:
| Requisitos | Descrições |
|---|---|
| R.1 | A tela inicial deve exibir uma lista de cursos atuais. |
| R.2 | Os cursos devem ser exibidos em um layout responsivo que funcione bem em dispositivos móveis. |
| R.3 | Cada curso na lista deve incluir o título e a descrição do curso. |
| R.4 | Os cursos devem ser filtrados com base na data de término, mostrando apenas cursos cuja data de término ainda não passou em relação à data atual. |
| R.5 | Crie um formulário de cadastro de curso que inclua os campos da tabela. |
| R.6 | Forneça uma maneira de editar e excluir cursos existentes. |
| R.7 | Apresentação tamanho total ocupado pelos vídeos nos cursos. |
(GP): Olá Dev, como está indo o progresso do projeto? A gerência acabou de solicitar que implementemos uma nova funcionalidade que exigirá a extração de alguns relatórios dos cursos. Eles estão interessados em ver o tamanho total ocupado pelos vídeos nos cursos. Você acha que isso é possível? Não temos muitas restrições quanto à forma de apresentação, pode ser uma tela, uma query, um relatório ou qualquer outra forma que demonstre claramente o tamanho total ocupado pelos vídeos nos cursos. Tenho interesse em ver como você abordará essa tarefa.
O objetivo aqui não é você programar de graça para nós, nem te fazer perder tempo com algo irrelevante. Nosso objetivo é ter um código sobre o qual poderemos conversar. Nós prezamos muito por colaboração, trabalho em equipe, comunicação e ética. Nosso propósito com esse desafio é ter, minimamente, essa experiência com você.
Caso não consiga completar o desafio ou enfrente qualquer dificuldade, nos envie mesmo assim, pois seu esforço também será avaliado na entrega.
- Crie um repositório público no github

📌 A construção da aplicação pode ser monolito ou SPA, sendo SPA um diferencial;
📌 Uso de Typescript;
📌 Uso de React;
📌 Uso de ChakraUi;
📌 Uso de testes unitários;
📌 Uso de Docker;
Em caso de dúvidas, nossa equipe está à disposição para ajudar.
📫 corporativotec@twygo.com
🍀 Boa sorte