O Toughts é um projeto desenvolvido sobre orientação de Node.js e organização estrutual MVC em JavaScript durante o curso oferecido pela Hora de Codar. Ele permite que os usuários criem contas, gerencie suas contas e adicionem e removam pensamentos proporcionando uma interface interativa e dinâmica. O código implementa uma lógica para gerenciar as pensamentos, garantindo que a interface seja atualizada automaticamente conforme o usuário interage com a aplicação.
A página inicial apresenta uma interface escura e moderna, focada na exibição de pensamentos públicos criados por usuários da plataforma. A navegação é limpa, com elementos bem espaçados e destaque para o conteúdo textual.
Para testar o projeto localmente, siga estas etapas:
-
Abra o terminal (ou prompt de comando) e execute o seguinte comando para clonar o repositório:
git clone https://github.com/joaocastro95/toughts.git
-
Após clonar o repositório, abra o terminal e vá até a pasta clonada.
cd caminho/para/a/pasta/do/projeto
-
Instale as dependências.
npm install
-
Inicialize o projeto.
npm start
-
Abra a porta no navegador.
http://localhost:3000/
Isso abrirá a interface web do projeto. Se o servidor estiver funcionando corretamente, você verá a página principal onde poderá utilizar o "Toughts".
Se você encontrar algum problema ou a página não carregar, consulte a seção de Autores e entre em contato conosco.
Mantivemos uma estrutura organizada para facilitar a manutenção e a compreensão do código:
-
controllers/
AuthController.js
: Controlador responsável pelas ações de login, logout e registro de usuários.ToughtController.js
: Lógica de CRUD dos pensamentos (criar, listar, editar, deletar, dashboard, busca).
-
db/
conn.js
: Configuração da conexão com o banco de dados utilizando Sequelize.
-
helpers/
auth.js
: Middleware auxiliar para proteger rotas e verificar autenticação de usuários.
-
models/
Tought.js
: Modelo Sequelize que representa os pensamentos.User.js
: Modelo Sequelize que representa os usuários.
-
routes/
authRoutes.js
: Define as rotas para login e registro de usuários.toughtsRoutes.js
: Define as rotas para criação, edição, exclusão e exibição de pensamentos.
-
index.js
Arquivo principal da aplicação. Inicializa o servidor Express, configura Handlebars, sessões, middlewares e sincroniza os modelos com o banco de dados.
-
views/
-
auth/
login.handlebars
: Página de login.register.handlebars
: Página de registro.
-
layouts/
main.handlebars
: Template base utilizado pelas demais views com cabeçalho, rodapé e estrutura HTML principal.
-
toughts/
home.handlebars
: Página inicial com listagem de pensamentos públicos, busca e ordenação.dashboard.handlebars
: Painel do usuário logado com seus próprios pensamentos.create.handlebars
: Formulário para criar novos pensamentos.edit.handlebars
: Formulário para editar pensamentos existentes.
-
-
public/css/
styles.css
: Arquivo principal de estilos da aplicação.
-
public/img/
- Pasta reservada para imagens usadas na interface (ícones, logos, etc).
sessions/
- Diretório utilizado para armazenar sessões da aplicação (dependente da configuração de sessão).
.gitignore
: Arquivo que define o que deve ser ignorado pelo Git (ex:node_modules
, arquivos sensíveis, etc).package.json
: Arquivo de configuração do projeto Node.js com lista de dependências e scripts.package-lock.json
: Arquivo que registra as versões exatas das dependências instaladas.README.md
: Arquivo de documentação do projeto.instalacoes.txt
: Arquivo de anotações ou instruções internas relacionadas à instalação/configuração do projeto.
João Castro |
---|