Site e aplicativos
PROJETO SITE AGRORURAL
1 – OBJETO:
Trata-se de um site com estilo semelhante ao de um portal de notícias ou jornal, com publicações efetuadas em diversas categorias e/ou colunistas. O portal também deverá permitir a inserção de publicações pagas (anúncios).
2 – DESIGN:
O design do front-end e do back-end que será utilizado como base para o desenvolvimento foi criado no ************ e pode ser acessado no link:
************
3 – API:
3.1 – Descrição: Fazer a interface do back-end/front-end com o banco de dados, autenticar/autorizar usuários e conectar-se as APIs de terceiros que serão utilizados.
3.2 – Padrões de desenvolvimento
* Design Patterns
* Clean Architecture
* SOLID
* TDD
3.3 – Linguagem de programação:
* Javascript COM Typescript
3.4 – Banco de dados (poderá ser utilizado qualquer um dos listados abaixo):
* MongoDB
* MariaDB
3.5 – Framework (poderá ser utilizado qualquer um dos listados abaixo):
* Express.JS
* Koa.JS
3.6 – Runtime Environment
* NodeJS versão 14.17.x
3.7 – Arquitetura da API (poderá ser utilizado qualquer um dos listados abaixo):
* REST
* GRAPHQL
3.8 – Testes Unitários:
* Cobertura minima de 80%
3.9 – Documentação:
* Criar a documentação da Api
4.0 – Tabelas/Collections:
* Cadastro de Usuários;
Id
Nome Completo
Email
Administrador
Senha
* Cadastro de Categorias;
Id
Descrição
* Cadastro de Colunistas;
Id
Nome Completo
Descrição
e-mail
site
Foto
* Cadastro de Noticias/Artigo;
Id
Publicado
Titulo
Url_Amigavel
Categoria
Colunistas
Destacado
Resumo
Materia
Foto
Publicar_Facebook
Publicar_Instagram
* Cadastro de Videos;
Id
Publicado
Titulo
Url_Amigavel
Categoria
Descricao
Foto
Publicar_Facebook
Publicar_Instagram
Vídeo
* Cadastro de PodCasts;
Id
Publicado
Titulo
Url_Amigavel
Categoria
Descricao
Foto
Áudio
* Cadastro de Anunciantes;
Id
Nome
Email
Telefone
Logotipo
* Cadastro de Anúncios;
Id
Anunciante
Descrição
Data_Inicio
Data_Fim
Tempo_Exibicao
Numero_Maximo_de_Impressoes
Categoria_do_Anuncio
4.0 – Requisitos:
* Cadastro de usuário:
- Primeiro Usuário Cadastrado: será considerado o administrador da plataforma. Não será exigido autenticação para cadastrar esse usuário.
- Demais Usuários: Deverão ser cadastrados pelo Administrador, devidamente autenticado. Apos o cadastro deverá ser enviado um e-mail para o novo usuario contendo um link/token para o cadastro da senha;
- O e-mail deverá ser utilizado como username;
- Deverá ser gravado no banco de dados o hash da senha ou criptografada;
* Autenticação: deve utilizar o JWT para a autenticação do usuário quando necessário
* Rotas CRUD para as tabelas de dados;
* Rotas para prover os dados necessários ao front-end;
* Rotas NÃO autenticadas:
- Rotas utilizadas pelo Front-End;
* Rotas autenticadas:
- Rotas utilizadas somente pelo Back-End;
* Publicação de posts no Facebook
* Publicação de posts no Instagram
4 – BACK-END:
4.1 – Descrição: Conter a area administrativa do site.
4.2 – Padrões de desenvolvimento
* Design Patterns
* Clean Architecture
* SOLID
* TDD
4.3 – Linguagem de programação (poderá ser utilizado qualquer um dos listados abaixo):
* Javascript COM Typescript
4.4 – Framework (poderá ser utilizado qualquer um dos listados abaixo):
* React
* Vue
4.5 – Testes Unitários:
* Cobertura mínima de 80%
4.6 – Documentação:
* Documentação da área administrativa
4.7 – Requisitos:
* Deve suportar PWA
* Layout Responsivo
* Login:
- Pagina de Login
- Pagina de Recuperação de Senha
* Usuários:
- Pagina contendo Listagem dos Usuários Cadastrados
- Pagina de Inclusão/Alteração de Usuarios
* Categorias:
- Pagina contendo Listagem dos Categorias Cadastrados
- Pagina de Inclusão/Alteração de Categorias
* Colunistas:
- Pagina contendo Listagem dos Colunistas Cadastrados
- Pagina de Inclusão/Alteração de Colunistas
* Noticias/Artigos:
- Pagina contendo Listagem dos Noticias/Artigos Cadastrados
- Pagina de Inclusão/Alteração de Noticias/Artigos
* Videos:
- Pagina contendo Listagem dos Videos Cadastrados
- Pagina de Inclusão/Alteração de Videos
* PodCasts:
- Pagina contendo Listagem dos PodCasts Cadastrados
- Pagina de Inclusão/Alteração de PodCasts
* Anunciantes:
- Pagina contendo Listagem dos Anunciantes Cadastrados
- Pagina de Inclusão/Alteração de Anunciantes
* Anuncios:
- Pagina contendo Listagem dos Anuncios Cadastrados
- Pagina de Inclusão/Alteração de Anuncios
* Comprimir as Imagens no lado do cliente antes de enviar para o servidor
- Resolução maxima HD. Qualidade Jpeg 75%.
5 – FRONT-END:
5.1 – Descrição: Apresentar o design desenvolvido no Figma.
5.2 – Padrões de desenvolvimento
* Design Patterns
* Clean Architecture
* SOLID
* TDD
5.3 – Linguagem de programação (poderá ser utilizado qualquer um dos listados abaixo):
* Javascript COM Typescript
5.4 – Framework:
* Next.Js e React
5.5 – Testes Unitários:
* Cobertura minima de 80%
5.6 – Documentação:
* Documentar o Front-End
5.7 – Requisitos:
* Estruturar a pagina com foco em SEO
* Utilizar o Server Side Render
* Deve suportar PWA
* Layout Responsivo
* Gerar os anuncios dentro dos espaços disponiveis;
* Gerenciar os anuncios: categorias, tempo de exibição e numero de impressões
* Gerar o componente DESTAQUES utilizando as noticias/artigos mais recentes marcadas como destaque. A quantidade de noticias no destaque deve ser configuravel, mas essa configuração pode ser feita em um arquivo de configurações;
* Gerar a Categoria VIDEOS utilizando os videos cadastrados, os videos devem ser exibidos em ordem decrescente por data de cadastramento;
* Pagina de listagem de TODOS OS VIDEOS, os videos devem ser exibidos em ordem decrescente por data de cadastramento;
* Gerar um componente CATEGORIA DE NOTICIAS para cada categoria existente;
* Pagina de listagem de TODAS AS NOTICIAS DA CATEGORIA, as noticias da categoria devem ser exibidos em ordem decrescente por data de cadastramento;
* Gerar um componente CATEGORIA DE PODCASTS utilizando os podcast cadastrados, os podcast devem ser exibidos em ordem decrescente por data de cadastramento;
* Pagina de listagem de TODOS PODCASTS, os podcasts devem ser exibidos em ordem decrescente por data de cadastramento;
* Gerar a Categoria COLUNISTAS utilizando os colunistas cadastrados, os colunistas devem ser exibidos em aleatoriamente;
* Pagina de Listagem de TODOS OS ARTIGOS DO COLUNISTA, quando for clicado sobre o mesmo;
* Gerar o Rodape da Pagina;
6 – ANUNCIOS NO FRONT-END:
* Todas as paginas irão exibir anuncios;
* Categorias de Anuncios:
- Categoria 01 : Essa categoria refere-se a 100% do espaço ocupado pela banner inicial do site;
- Categoria 02 : Essa categoria refere-se a 50% do espaço ocupado pela banner inicial do site;
- Categoria 03 : Essa categoria refere-se a 25% do espaço ocupado pela banner inicial do site;
- Categoria 04 : Essa categoria refere-se ao espaço de 100% da largura da area de categorias com 100px de altura;
- Categoria 05 : Essa categoria refere-se ao espaço de 100% da largura coluna direita com 100px de altura;
- Categoria 06 : Essa categoria refere-se ao espaço de 100% da largura coluna direita com 330px de altura;
- Categoria 07 : Essa categoria refere-se ao espaço de 100% da largura coluna direita com 540px de altura;
Você conhece alguém que se encaixa bem no projeto? Ganhe comissão indicando freelancers! Por cada inscrição você ganha 5 € diretamente na sua conta e quando o freelancer é contratado pela plataforma você ganha 2% dos ganhos deste freelancer!
Preencha os detalhes do profissional que você gostaria de recomendar:
Quando o freelancer aceitar o convite, ele será automaticamente adicionado à sua rede e você ganhará 2% a mais todos os ganhos deste freelancer através da plataforma. Para mais informações consulte nosso Termos e Condições
Nenhum freelancer interessado ainda
{{item.displayDisciplines}}
Você tem uma conta stand-by e já respondeu a 1 projeto neste período de assinatura.
Atualize sua conta agora com apenas 1 clique e responda a projetos ilimitados.