https://github.com/firminoweb/dialog-test
https://github.com/firminoweb/dialog-test
Last synced: 11 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/firminoweb/dialog-test
- Owner: firminoweb
- Created: 2025-03-01T17:35:55.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-03-01T17:46:55.000Z (11 months ago)
- Last Synced: 2025-03-01T18:32:56.072Z (11 months ago)
- Language: TypeScript
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Social Feed - Teste Técnico - Dialog
Uma aplicação de rede social minimalista que permite aos usuários criar perfis, publicar posts e interagir com curtidas. Este projeto foi desenvolvido como parte de um desafio técnico para demonstrar habilidades em desenvolvimento fullstack.
## Tecnologias Utilizadas
### Frontend
- **Next.js 14** - Framework React com SSR
- **TypeScript** - Tipagem estática para JavaScript
- **Tailwind CSS** - Framework CSS utilitário
- **React Hooks** - Para gerenciamento de estado
### Backend
- **Node.js** - Ambiente de execução JavaScript
- **Express** - Framework para API REST
- **JSON** - Armazenamento de dados em arquivos (sem banco de dados)
## Estrutura do Projeto
O projeto é organizado como um monorepo com as seguintes pastas principais:
```
dialog-test/
├── packages/
│ ├── api-node/ # Backend com Node.js
│ └── frontend-nextjs/ # Frontend com Next.js
├── README.md
└── package.json
```
## Funcionalidades
- **Perfis de Usuário**: Visualização de perfis com informações básicas
- **Timeline de Posts**: Feed de publicações de usuários
- **Publicação de Posts**: Criação de novas publicações
- **Curtidas**: Interação com posts através de curtidas
- **Exclusão de Posts**: Remoção de publicações próprias
## Instalação
### Pré-requisitos
- Node.js (v16+)
- Yarn ou npm
### Passos para Instalação
1. Clone o repositório:
```bash
git clone https://github.com/firminoweb/dialog-test.git
cd dialog-test
```
2. Instale as dependências do projeto:
```bash
# Instalar dependências do frontend
cd packages/frontend-nextjs
npm install
# Instalar dependências do backend
cd ../api-node
npm install
```
## Executando o Projeto
### Backend (API Node.js)
```bash
cd packages/api-node
npm run dev
```
O servidor estará disponível em: http://localhost:3001
### Frontend (Next.js)
```bash
cd packages/frontend-nextjs
npm run dev
```
A aplicação estará disponível em: http://localhost:3000
## Desenvolvimento
### Estrutura de Dados
O backend utiliza arquivos JSON para armazenar dados:
- `users.json` - Informações dos usuários
- `posts.json` - Publicações dos usuários
- `likes.json` - Interações de curtidas
### Fluxo de Autenticação
Para simplificar, a aplicação não implementa autenticação real, mas simula um usuário logado com ID fixo (`user123`).
## Contribuindo
1. Faça um fork do projeto
2. Crie sua branch de feature (`git checkout -b feature/amazing-feature`)
3. Commit suas mudanças (`git commit -m 'Add some amazing feature'`)
4. Push para a branch (`git push origin feature/amazing-feature`)
5. Abra um Pull Request