{"id":15132547,"url":"https://github.com/diegoporfirio01/chat","last_synced_at":"2026-01-18T17:33:30.234Z","repository":{"id":255569755,"uuid":"850046812","full_name":"DiegoPorfirio01/chat","owner":"DiegoPorfirio01","description":"Pages Marketing SEO Friendly / Chat Realtime / Open API (SWAGGER) ","archived":false,"fork":false,"pushed_at":"2025-01-03T12:01:07.000Z","size":346,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-12T02:09:46.933Z","etag":null,"topics":["fastify","i18next","kafka-consumer","mobile-first","next15","postgresql","redis","seo-friendly","seo-optimization","server-actions","swagger-api"],"latest_commit_sha":null,"homepage":"https://chat-lucy.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DiegoPorfirio01.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-30T19:08:54.000Z","updated_at":"2025-01-03T12:01:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"3b4d8fb2-ef7a-4f79-b211-7914bad3647c","html_url":"https://github.com/DiegoPorfirio01/chat","commit_stats":null,"previous_names":["diegoporfirio01/chat"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiegoPorfirio01%2Fchat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiegoPorfirio01%2Fchat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiegoPorfirio01%2Fchat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiegoPorfirio01%2Fchat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DiegoPorfirio01","download_url":"https://codeload.github.com/DiegoPorfirio01/chat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247406080,"owners_count":20933803,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fastify","i18next","kafka-consumer","mobile-first","next15","postgresql","redis","seo-friendly","seo-optimization","server-actions","swagger-api"],"created_at":"2024-09-26T04:20:43.835Z","updated_at":"2026-01-18T17:33:30.193Z","avatar_url":"https://github.com/DiegoPorfirio01.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lucy - Chat seguro e em Tempo Real\n\n**Lucy** é um aplicativo de chat em tempo real desenvolvido inicialmente em um desafio intenso de 3 dias. Explore a complexidade e inovação desta aplicação, que combina uma série de tecnologias modernas para oferecer uma experiência de usuário envolvente e eficiente!\n\n**Documentação OPEN API (SWAGGER)** https://api-chat-lucy.saas-next15-rbac.duckdns.org/docs/static/index.html\n## 🚀 Tecnologias Utilizadas\n\nAqui estão as principais ferramentas e bibliotecas que fazem o Lucy funcionar:\n\n- **Framework**: [Next.js 15](https://nextjs.org/) (com utilização de server actions)\n\n- **Frontend**:\n  - [React](https://reactjs.org/) 19 (versão experimental)\n  - [Prisma ORM](https://www.prisma.io/)\n  - [Radix UI](https://radix-ui.com/)\n  - [Tailwind CSS](https://tailwindcss.com/)\n  - [GSAP](https://greensock.com/gsap)\n  - [Ky](https://github.com/sindresorhus/ky)\n\n- **Backend**:\n  - [Fastify 4.2](https://www.fastify.io/)\n  - [Socket.IO](https://socket.io/)\n\n- **Documentação e UI da API**:\n  - [Swagger 8](https://swagger.io/)\n- **Outras Dependências**:\n  - [Next Intl](https://next-intl.dev/)\n  - [Zod](https://zod.dev/)\n\n## 🌟 Funcionalidades\n\n- **Chat em Tempo Real**: Comunicação instantânea entre usuários, proporcionada pelo Socket.IO.\n- **Interface Moderna**: Design clean com componentes da Radix UI e estilos responsivos do Tailwind CSS.\n- **Formulários Eficientes**: Gerenciados com React Hook Form e validados com Zod.\n- **Temas e Internacionalização**: Suporte a temas com Next Themes e tradução com Next Intl.\n- **Cache e Performance**: Uso de cache no frontend e Redis no backend para otimizar o desempenho.\n\n## 💻 Como Rodar o Projeto\n\nPara rodar o projeto localmente, siga estes passos:\n\n1. **Instale as dependências:**\n\n   ```bash\n   pnpm install\n   ```\n\n2. **DevOPS:**\n    rodar banco postgre e o redis:\n\n      ```bash\n   docker-compose up -d\n   ```\n\n3. **Configure as variáveis de ambiente:**\n\n    ```bash\n    cp .env.example  .env  \n   ```\n   Validações estão implementadas para garantir que todas as variáveis estejam corretas.\n   \n   OBS: - As variaveis relacionadas oa kafka, sugiro que utilize esse serviço para rodar o kafka : https://upstash.com/docs/kafka/overall/getstarted\n\n5. **Gerar schema Prisma:**\n\n   ```bash\n   pnpm run db:schema\n   ```\n\n6. **Inicie o servidor de desenvolvimento:** Na raiz do projeto, execute:\n\n   ```bash\n   pnpm run dev\n   ```\n\n7. **Visualize a documentação da API:** Abra o navegador e acesse [http://localhost:3333/docs](http://localhost:3333/docs) para explorar a documentação interativa gerada pelo Swagger.\n\n8. **Acesse o sistema:** Abra o navegador e acesse [http://localhost:3000](http://localhost:3000) para usar a aplicação!\n\n## 🛠️ Scripts\n\n- **Desenvolvimento:** `pnpm run dev` - Inicia o servidor de desenvolvimento.\n- **Banco:** `pnpm run db:migrate` - Cria schema e atualiza banco\n- **Construir:** `pnpm run build` - Gera a versão de produção.\n- **Linter:** `pnpm run lint` - Executa o linter para verificar o código.\n\n## Nota\n\nPode haveer erro no console em função do radix ainda não ter atualizado as referências dos componentes para o novo hook useRef\n\n## 📝 Licença\n\nEste projeto está licenciado sob a Licença MIT.\n\n## 🚀 Desafio Aceito!\n\nDesenvolvido em apenas 3 dias como um grande desafio, o Lucy é um testemunho de paixão por novas tecnologias e criação de aplicações robustas. Espero que você aproveite tanto quanto eu gostei de desenvolvê-la!\n\n**Lucy - Chat em Tempo Real**\n\nDesenvolvido com café ☕ por Diego Vianna Porfírio\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiegoporfirio01%2Fchat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiegoporfirio01%2Fchat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiegoporfirio01%2Fchat/lists"}