Este repositório contém o desafio de programação proposto para a vaga de Desenvolvedor Backend Pleno na IXC Soft. O objetivo deste desafio é avaliar suas habilidades técnicas e conhecimentos em desenvolvimento de software, especialmente voltados para o backend.
- O prazo para entrega da solução é de 3 dias corridos, contados a partir da data de recebimento do desafio.
- Utilização das seguintes linguagens NodeJS Express e React/NextJS
O desafio consiste em desenvolver uma aplicação Full-Stack utilizando NodeJS Express e React/NextJS, que seja capaz de realizar as seguintes funcionalidades:
- Tela de Login para Autenticação dos usuários
- Tela de Cadastro para novos Usuarios
- Utilizar o banco de dados MongoDB
- Funcionalidade de macro para troca de mensagens em tempo real
Para instalar as dependencias
npm install
Para rodar em modo dev
npm run dev
Para rodar esse projeto, você vai precisar adicionar as seguintes variáveis de ambiente no seu .env
Inserir o IP Local com a porta do serviço back-end que estara rodando localmente
NEXT_PUBLIC_URL_API
O que você aprendeu construindo esse projeto? Quais desafios você enfrentou e como você superou-os?
Nesse projeto consegui melhorar a minha skil de front-end, no sentindo de ser um desafio trabalhar com o front. Nesse Projeto consegui melhorar na utilização do NextJS, também na utilização de roteamento de rotas dele, no react consegui trabalhar na parte de hooks, states e useEffect, por mais que seja um framework front-end com varias lib's prontas para uso, também consegui desenvolver na parte de websocket, utilizando Socket.IO, nunca havia trabalhado com ele, foi um tremendo desafio, fiquei preso na mesma função por mais de 1 dia, por não ter o conhecimento necessario para utilizar ele da melhor maneira. Quando Iniciei o projeto eu havia começado o back-end e o front-end no mesmo repositorio, mas para facilitar na hora da manutenção e deploy, resolvi alterar e deixar cada um em seu proprio repositorio.
Front-end: React, NextJS, TailwindCSS
Back-end: Node, Express, Socket.io