Moodly é uma aplicação full-stack projetada para ajudar usuários a registrarem, acompanharem e compreenderem suas emoções ao longo do tempo.
O projeto utiliza a estratégia de Monorepositório (Monorepo) para centralizar o desenvolvimento, facilitar o compartilhamento de código, padronizar configurações e manter uma gestão unificada das dependências entre Backend e Mobile.
Estrutura organizada via Yarn Workspaces, separando responsabilidades de forma clara:
Focado em performance, escalabilidade e manutenibilidade.
- Node.js & Fastify para alta taxa de requisições e baixa latência
- Clean Architecture, com regras de negócio isoladas de frameworks
- Design Patterns: Injeção de Dependência, Repository Pattern e Singleton
- Persistência com Prisma ORM e PostgreSQL
Aplicação voltada à experiência do usuário (UX).
- React Native & Expo para desenvolvimento ágil e multiplataforma
- Zustand para gerenciamento de estado global simples e escalável
- Custom Hooks para abstração da lógica de API e side-effects
Camada compartilhada entre Backend e Mobile.
- Type Safety com compartilhamento de
interfaces,DTOseenums - Consistência de contrato entre cliente e servidor
- Aplicação do princípio DRY (Don't Repeat Yourself)
| Escopo | Stack |
|---|---|
| Infra | TypeScript, Yarn Workspaces, ESLint, Prettier |
| Backend | Node.js, Fastify, Prisma ORM, PostgreSQL, Docker |
| Mobile | React Native, Expo, Zustand, React Navigation |
- Node.js (LTS)
- Yarn
- Docker (para o banco de dados)
Na raiz do monorepo:
yarn installCrie os arquivos .env a partir dos exemplos (.env.example) em:
apps/backendapps/mobile
cd apps/backend && npx prisma migrate dev && yarn run devcd apps/mobile && npx expo startyarn dev