Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/joelbrs/tabnews.clone.com.br
https://github.com/joelbrs/tabnews.clone.com.br
Last synced: 3 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/joelbrs/tabnews.clone.com.br
- Owner: joelbrs
- Created: 2024-06-30T16:31:16.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-07-06T23:15:35.000Z (4 months ago)
- Last Synced: 2024-08-02T15:06:46.279Z (3 months ago)
- Language: TypeScript
- Homepage: https://br-tabnews-clone.vercel.app/
- Size: 552 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-woovi-challenge - tabnews.clone.com.br - A Tabnews clone developed with Woovi stack by [@joelbrs](https://github.com/joelbrs) (Challenges Fullstack)
README
# Tabnews Clone
Este é um clone do Tabnews do Filipe Deschamps. O projeto foi desenvolvido com as seguintes tecnologias:
## Stack
### Frontend
- **Next.js**: Framework React que facilita a criação de aplicativos web rápidos e escaláveis.
- **Tailwind CSS**: Biblioteca CSS utilitária que permite estilizar componentes de forma eficiente.
- **Chakra UI**: Biblioteca de componentes React com foco em acessibilidade e design.
- **TypeScript**: Linguagem de programação tipada que melhora a manutenção e a segurança do código.
- **Relay**: Biblioteca GraphQL para gerenciamento de estado no frontend.### Backend
- **Koa**
- **Node.js**
- **GraphQL**
- **MongoDB**## Funcionalidades
1. **Listagem de Publicações**: Exibe uma lista de publicações, podendo ser filtrada por relevantes ou recentes, com tabcoins, quantidade de comentários, username do autor e quando foi criada.
2. **Detalhes da Publicação**: Permite visualizar os detalhes completos de uma publicação específica.
3. **Atualização da Publicação**: Os usuários conseguem atualizar o conteúdo de suas publicações.
4. **Exclusão de Publicação**: Os usuários conseguem excluir uma publicação.
5. **Autenticação**: Suporte para autenticação de usuários.
6. **Atualização de Perfil**: Os usuários conseguem atualizar as informações de seu perfil.
7. **Paginação**: Divide as notícias em páginas para facilitar a navegação.
8. **Transações Tabcoins**: Os usuários podem votar em publicações e receber ou gastar Tabcoins.
9. **Markdown**: Os usuários escrevem as postagens por meio de um editor Markdown, assim como para visualização dos posts.### Como funcionam as transações de Tabcoins:
1. **Cadastro de Usuário**: Ao se cadastrar, o usuário é criado com 5 Tabcoins.
2. **Criação de Publicação**: Ao criar uma publicação, 5 Tabcoins são acrescidas do saldo do autor e 1 Tabcoin é acrescida do saldo da publicação.
3. **Relevância de Publicações**: Os usuários podem usar suas Tabcoins para votar na relevância (positiva ou negativa) de publicações (com exceção das suas próprias) e, para isso:
- 2 Tabcoins são descontadas de seu saldo.
- Caso o voto seja positivo, 1 Tabcoin é acrescido do saldo da publicação e 1 Tabcoin do saldo do autor; caso contrário, 1 Tabcoin será decrescida.
4. **Exclusão de Publicação**: Ao excluir uma publicação, o usuário perde **TODAS** as Tabcoins que ganhou com o post.