https://github.com/sans-script/desafio-3-trilhas-2b
https://github.com/sans-script/desafio-3-trilhas-2b
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/sans-script/desafio-3-trilhas-2b
- Owner: sans-script
- Created: 2025-03-23T13:19:02.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-04T02:17:34.000Z (about 1 year ago)
- Last Synced: 2025-04-05T23:33:40.627Z (about 1 year ago)
- Language: HTML
- Homepage: https://desafio-3-trilhas-2-b.vercel.app
- Size: 20.8 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Plataforma de Inscrições
## Descrição
Este projeto consiste em um sistema de inscrições e cadastro para candidatos, desenvolvido com o objetivo de agilizar e organizar o processo de cadastro. Ele oferece uma interface intuitiva para os usuários, validação de campos para garantir a integridade dos dados e conformidade com a LGPD. O sistema permite que os candidatos realizem login, preencham um formulário de inscrição e acompanhem o status de sua inscrição.
## Tecnologias Utilizadas
O projeto foi desenvolvido utilizando as seguintes tecnologias:
- **HTML5**: Para a estruturação do conteúdo da página.
- **CSS3**: Para a estilização da página.
- **Tailwind CSS**: Framework utilitário para estilização rápida.
- **JavaScript**: Para adicionar interatividade e lógica ao sistema.
- **Node.js**: Para gerenciar dependências e scripts de build.
- **npm**: Gerenciador de pacotes do Node.js.
- **Express**: Framework para criação de APIs.
- **PostgreSQL**: Banco de dados relacional para armazenamento de informações.
- **Docker**: Para containerização do banco de dados.
- **dotenv**: Para gerenciamento de variáveis de ambiente.
- **bcrypt**: Para criptografia de senhas.
- **CORS**: Para controle de acesso entre origens.
- **Git**: Para controle de versão e colaboração no código.
- **Live Server**: Extensão do Visual Studio Code para recarregar a página automaticamente durante o desenvolvimento.
## Funcionalidades Existentes
1. **Login e Cadastro de Usuário**:
- Usuários podem realizar login ou criar uma conta caso ainda não possuam.
- Após o login, o usuário é redirecionado para a página inicial.
2. **Formulário de Inscrição**:
- O formulário coleta informações necessárias para a inscrição no programa.
3. **Exibição de Dados na Página Inicial**:
- Após o envio do formulário, os dados do candidato são exibidos na página inicial, incluindo o status de inscrição.
4. **Armazenamento Seguro**:
- As senhas dos usuários são armazenadas de forma criptografada no banco de dados.
5. **API para Gerenciamento de Inscrições**:
- Endpoints para cadastro, login e gerenciamento de inscrições.
## Como Rodar Localmente
Para executar o projeto em sua máquina local, siga os passos necessários caso o deploy do servidor e/ou do banco de dados na Render venha a ser cancelado pela plataforma.
> [!NOTE]
> Certifique-se de verificar o arquivo `env.example` para criar corretamente o seu `.env`. Além disso, ajuste a variável `CORS_ORIGIN` para que corresponda à URL onde o frontend está sendo executado na sua máquina, evitando possíveis problemas com bloqueio de CORS.
### Pré-requisitos
- **Node.js** (versão 14 ou superior) instalado.
- **npm** (gerenciador de pacotes do Node.js).
- **Docker** (para rodar o banco de dados PostgreSQL).
### Passos
1. **Clone o repositório**:
```sh
git clone https://github.com/sans-script/Desafio-3-Trilhas-2B.git
```
2. **Navegue até o diretório do projeto**:
```sh
cd Desafio-3-Trilhas-2B
```
3. **Instale as dependências**:
```sh
npm install
```
4. **Configure o banco de dados**:
- Certifique-se de que o Docker está instalado e em execução.
- Suba o banco de dados com o comando:
```sh
docker-compose up -d
```
- Inicialize as tabelas do banco de dados:
```sh
node api/init-db.js
```
5. **Inicie o servidor**:
```sh
node api/server.js
```
> [!CAUTION]
> Execute o comando acima diretamente da sua home peloamordedeus, não entre na pasta api com o comando `cd api` e execute comandos diretamente na pasta que não vai funcionar. Use `node api/nome-do-arquivo.js`. Isso garante que o `.env` seja carregado.
6. **Inicie o projeto**:
```sh
npm start
```
> [!TIP]
> Este comando inicia o Tailwind CLI em modo watch, compilando o arquivo `styles.css` para `dist/output.css` sempre que houver alterações nos arquivos. Use `npm run build` para gerar o arquivo sem o modo --watch.
7. **Visualize o projeto**:
- Utilize a extensão **Live Server** no Visual Studio Code.
- Clique com o botão direito no arquivo `index.html` e selecione "Open with Live Server".
## Contribuição
Para contribuir com o projeto, siga os passos abaixo:
1. Certifique-se de estar com a versão mais recente do repositório:
```sh
git pull origin main
```
2. Faça suas alterações e adicione os arquivos ao staging:
```sh
git add .
```
3. Realize um commit descrevendo as alterações:
```sh
git commit -m "Descrição das alterações"
```
4. Envie as alterações para o repositório remoto:
```sh
git push origin main
```