{"id":16513490,"url":"https://github.com/gumiranda/crazystackreact","last_synced_at":"2025-03-23T13:32:23.325Z","repository":{"id":184020638,"uuid":"543727870","full_name":"gumiranda/CrazyStackReact","owner":"gumiranda","description":"Repositório oficial do módulo CrazyStack Next.js","archived":false,"fork":false,"pushed_at":"2024-10-29T18:22:02.000Z","size":4241,"stargazers_count":12,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-29T20:28:17.749Z","etag":null,"topics":["chakra-ui","fsd","nextjs","react","react-hook-form","react-query","reactjs"],"latest_commit_sha":null,"homepage":"https://crazystacknext.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/gumiranda.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":"2022-09-30T18:04:57.000Z","updated_at":"2024-10-25T19:28:30.000Z","dependencies_parsed_at":"2023-07-26T19:39:57.613Z","dependency_job_id":"a7c8d7e6-3f48-4b49-8ae7-dc19cacc42b2","html_url":"https://github.com/gumiranda/CrazyStackReact","commit_stats":null,"previous_names":["gumiranda/crazystackreact"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gumiranda%2FCrazyStackReact","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gumiranda%2FCrazyStackReact/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gumiranda%2FCrazyStackReact/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gumiranda%2FCrazyStackReact/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gumiranda","download_url":"https://codeload.github.com/gumiranda/CrazyStackReact/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245108282,"owners_count":20562019,"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":["chakra-ui","fsd","nextjs","react","react-hook-form","react-query","reactjs"],"created_at":"2024-10-11T16:09:07.424Z","updated_at":"2025-03-23T13:32:23.313Z","avatar_url":"https://github.com/gumiranda.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 CrazystackReact\n\nBem-vindo ao **CrazystackReact**! Este projeto foi desenvolvido usando **Next.js** com foco em escalabilidade, modularidade e performance. Ele segue os princípios de **Atomic Design** e **Feature Sliced Design** para garantir uma arquitetura limpa e organizada, além de utilizar o **Context API** para gerenciamento de estado. 😎\n\n## ✨ Tecnologias Utilizadas\n\nAqui estão algumas das principais tecnologias que fazem este projeto brilhar:\n\n- **⚛️ [React](https://reactjs.org/)** - A biblioteca JavaScript para interfaces de usuário.\n- **🚀 [Next.js](https://nextjs.org/)** - Framework React com renderização no servidor e geração estática.\n- **💅 [Chakra UI](https://chakra-ui.com/)** - Biblioteca de componentes para criar UIs acessíveis e responsivas rapidamente.\n- **🌐 [Axios](https://axios-http.com/)** - Cliente HTTP baseado em Promises.\n- **🖼️ [Framer Motion](https://www.framer.com/motion/)** - Animações suaves e de alta performance para React.\n- **🌍 [i18next](https://www.i18next.com/)** - Biblioteca para internacionalização (i18n) em JavaScript.\n- **📅 [date-fns](https://date-fns.org/)** - Biblioteca utilitária para manipulação de datas.\n- **⚙️ [Context API](https://reactjs.org/docs/context.html)** - Gerenciamento de estado com a API nativa do React.\n- **📑 [Prettier](https://prettier.io/)** - Formatação automática de código.\n- **🔍 [ESLint](https://eslint.org/)** - Ferramenta para garantir a qualidade do código.\n\n## 📂 Arquitetura\n\nEste projeto segue duas abordagens de design para a organização de componentes e funcionalidades:\n\n### ⚛️ Atomic Design\n\nUtilizamos o **Atomic Design** para dividir os componentes de interface em cinco níveis de granularidade:\n\n1. **Átomos**: Componentes básicos, como botões e inputs.\n2. **Moléculas**: Combinações simples de átomos, como formulários e grupos de campos.\n3. **Organismos**: Componentes mais complexos, como cabeçalhos e áreas de conteúdo.\n4. **Templates**: Estruturas de layout que organizam organismos.\n5. **Páginas**: Instâncias de templates com dados reais.\n\n### 🧩 Feature Sliced Design\n\nNo sistema de agendamentos, seguimos o **Feature Sliced Design**, onde as funcionalidades são organizadas em módulos e slices, com foco na escalabilidade do código. Cada slice é responsável por uma feature específica e contém toda a lógica e UI associada.\n\n## 📂 Estrutura de Pastas\n\nAbaixo está a estrutura de diretórios do projeto para ajudar a entender como ele está organizado:\n\n```\nsrc/\n├── app/\n│   ├── application/\n│   │   └── providers/         # Configurações de temas, textos, etc.\n│   └── legacy_pages/          # Páginas antigas que funcionam no padrão pages router do next\n├── shared/\n│   ├── api/                   # Serviços de API.\n│   ├── css/                   # Estilos globais.\n│   ├── libs/                  # Funções utilitárias.\n│   └── ui/                    # Componentes de UI reutilizáveis.\n├── slices/                    # Feature Sliced Design para gerenciamento de funcionalidades.\n│   ├── appointments/           # Módulo de agendamentos\n│   │   ├── entidades/          # Entidades relacionadas a agendamentos\n│   │   ├── features/           # Funcionalidades específicas de agendamentos\n│   │   ├── processes/          # Processos de negócio de agendamentos\n│   │   └── screens/            # Telas relacionadas ao módulo de agendamentos\n│   ├── general/                # Módulo geral do sistema\n│   │   ├── entidades/          # Entidades compartilhadas\n│   │   ├── features/           # Funcionalidades genéricas\n│   │   └── screens/            # Telas gerais do sistema\n│   └── landing-page/           # Funcionalidades da página inicial\n└── widgets/                   # Componentes complexos (Modal, NavBar, etc.).\n```\n\n## 🚀 Como Rodar o Projeto\n\n1. Clone o repositório:\n   ```bash\n   git clone https://github.com/gumiranda/CrazyStackReact.git\n   ```\n2. Instale as dependências:\n   ```bash\n   npm install\n   ```\n3. Rode o servidor de desenvolvimento:\n   ```bash\n   npm run dev\n   ```\n4. Acesse no navegador: `http://localhost:3000`\n\n## 🧪 Rodando os Testes\n\nPara rodar os testes unitários:\n\n```bash\nnpm run test\n```\n\n## 🛠️ Scripts Disponíveis\n\n- **`dev`**: Inicia o servidor de desenvolvimento.\n- **`build`**: Gera a build de produção.\n- **`test`**: Executa os testes com Jest.\n- **`test:watch`**: Executa os testes em modo watch.\n- **`lint`**: Verifica o código com ESLint.\n- **`format`**: Formata o código com Prettier.\n\n## 📝 Contribuindo\n\nContribuições são bem-vindas! Se você deseja contribuir com o projeto, siga os passos abaixo:\n\n1. Faça um fork do repositório.\n2. Crie uma branch para sua feature: `git checkout -b minha-feature`.\n3. Faça commit das suas mudanças: `git commit -m 'Adiciona nova feature'`.\n4. Envie para a branch principal: `git push origin minha-feature`.\n5. Abra um Pull Request.\n\n## 🧑‍💻 Autor\n\nEste projeto foi desenvolvido por **DevDoido**.\n\n## 📄 Licença\n\nEste projeto está licenciado sob a Licença MIT. Veja o arquivo [LICENSE](LICENSE) para mais detalhes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgumiranda%2Fcrazystackreact","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgumiranda%2Fcrazystackreact","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgumiranda%2Fcrazystackreact/lists"}