Skip to content

EdoardoRocha/toughts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Toughts 💡

O Toughts é uma aplicação web desenvolvida para permitir que utilizadores registados partilhem os seus pensamentos e visualizem publicações de outros membros. O sistema conta com autenticação completa, gestão de sessões e operações CRUD (Criar, Ler, Atualizar e Eliminar) de pensamentos.

🚀 Funcionalidades

  • Autenticação de Utilizadores: Registo e login com encriptação de palavras-passe via bcryptjs.

  • Gestão de Pensamentos:

  • Criar novos pensamentos.

  • Editar e remover pensamentos próprios através de um Dashboard exclusivo.

  • Visualização pública de todos os pensamentos na página inicial.

  • Filtros e Ordenação:

  • Procura de pensamentos por palavras-chave.

  • Ordenação de resultados por data (mais recentes ou mais antigos).

  • Sessões Persistentes: Utilização de session-file-store para manter o utilizador ligado mesmo após reiniciar o servidor.

🛠️ Tecnologias Utilizadas

  • Backend: Node.js com Express.
  • Base de Dados: MySQL gerido pelo ORM Sequelize.
  • Template Engine: Handlebars para renderização dinâmica das páginas.
  • Segurança: bcryptjs para hashing de passwords e express-session para controlo de acesso.
  • Estilização: CSS puro e Bootstrap Icons.

📦 Estrutura do Projeto

O projeto segue o padrão MVC (Model-View-Controller):

  • /controllers: Lógica de negócio (Autenticação e Pensamentos).
  • /models: Definição das tabelas User e Tought e as suas relações.
  • /routes: Definição dos caminhos e permissões da aplicação.
  • /views: Interface do utilizador construída em Handlebars.
  • /public: Ficheiros estáticos (CSS, imagens).

🔧 Instalação e Configuração

  1. Clonar o repositório:
git clone <url-do-repositorio>
  1. Instalar as dependências:
npm install
  1. Configurar Variáveis de Ambiente: Crie um ficheiro .env na raiz do projeto com as seguintes chaves:
DB_NAME=toughts
DB_USER=seu_utilizador
DB_PASSWORD=sua_senha
DB_HOST=localhost
AUTH_TOKEN=seu_segredo_de_sessao
  1. Executar a aplicação:
npm start

O servidor será iniciado na porta 3000.

About

Toughts é uma rede social minimalista para partilha de pensamentos, desenvolvida com Node.js, Express e MySQL. A aplicação utiliza o ORM Sequelize para gestão de dados e Handlebars para a interface dinâmica.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors