Dev Controle é um sistema avançado de gerenciamento onde usuários prestadores de serviços ou clientes cadastrados podem criar e gerenciar chamados para solucionar problemas variados. Esta plataforma oferece uma solução completa para o acompanhamento e resolução de questões técnicas e de suporte.
Abaixo está uma demonstração visual do projeto em funcionamento:
O Dev Controle está disponível online e pode ser acessado através do seguinte link: Dev Controle
Sinta-se à vontade para explorar as funcionalidades e a interface do sistema neste ambiente de produção.
O Dev Controle foi desenvolvido utilizando um conjunto robusto de tecnologias modernas:
- Next.js: Framework React para renderização híbrida, oferecendo excelente performance e SEO.
- TypeScript: Superset tipado de JavaScript, melhorando a qualidade e manutenibilidade do código.
- Axios: Cliente HTTP baseado em Promises para realizar requisições.
- Firebase: Plataforma de desenvolvimento de aplicativos móveis e web.
- HTML2Canvas: Biblioteca para capturar screenshots de elementos DOM.
- React Hook Form: Biblioteca eficiente para gerenciamento de formulários.
- Zod: Biblioteca de validação de esquema TypeScript-first.
- NextAuth: Solução completa de autenticação para Next.js, incluindo autenticação Google.
- Tailwind CSS: Framework CSS utilitário para design rápido e responsivo.
- Prisma: ORM moderno para Node.js e TypeScript, utilizado com MongoDB.
- React Hot Toast: Biblioteca para notificações em React.
- Headless UI: Componentes de UI totalmente acessíveis e sem estilo.
- React Icons: Biblioteca de ícones populares para React.
O Dev Controle utiliza a arquitetura moderna do Next.js com o diretório app router, permitindo uma combinação eficiente de renderização no lado do cliente e do servidor. Principais aspectos da estrutura:
- App Router: Utiliza o novo sistema de roteamento do Next.js para uma navegação mais eficiente.
- API Routes: A pasta
api
é dedicada à criação de rotas backend, permitindo a construção de uma API robusta dentro do mesmo projeto. - Componentes: Organizados de forma modular para máxima reutilização e manutenibilidade.
- Estilos: Utiliza Tailwind CSS para estilização, permitindo um design consistente e responsivo.
- Autenticação: Implementada com NextAuth, garantindo um processo seguro de login e gerenciamento de sessões.
Siga estes passos para configurar o ambiente de desenvolvimento:
-
Clone o repositório:
git clone [URL_DO_REPOSITORIO] cd dev-controle
-
Instale as dependências:
npm install
-
Configure as variáveis de ambiente: Crie um arquivo .env na raiz do projeto e adicione as seguintes variáveis (substitua os valores conforme necessário):
DATABASE_URL=sua_url_do_mongodb NODE_ENV=development NEXTAUTH_URL=http://localhost:3000 HOST_URL=http://localhost:3000 NEXTAUTH_SECRET=seu_nextauth_secret GOOGLE_CLIENT_ID=seu_google_client_id GOOGLE_CLIENT_SECRET=seu_google_client_secret NEXT_PUBLIC_FIREBASE_API_KEY=sua_firebase_api_key NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=seu_firebase_auth_domain NEXT_PUBLIC_FIREBASE_PROJECT_ID=seu_firebase_project_id NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=seu_firebase_storage_bucket NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=seu_firebase_messaging_sender_id NEXT_PUBLIC_FIREBASE_APP_ID=seu_firebase_app_id NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=seu_firebase_measurement_id
Certifique-se de não compartilhar este arquivo ".env", pois ele contém informações sensíveis.
Para iniciar o servidor de desenvolvimento:
npm run dev
O aplicativo estará disponível em http://localhost:3000. As alterações no código serão refletidas automaticamente graças ao hot-reloading do Next.js.
Para criar uma versão otimizada para produção:
npm run build
npm start
Isso irá gerar uma versão otimizada do aplicativo e iniciá-lo em modo de produção.
O Dev Controle está atualmente hospedado na Vercel, uma plataforma otimizada para aplicações Next.js. O processo de deploy é automatizado através de integração contínua:
- Cada push para a branch principal (main/master) do repositório desencadeia um novo deploy.
- A Vercel automaticamente constrói e implanta a aplicação, considerando as configurações do Next.js.
- Variáveis de ambiente são gerenciadas através do painel da Vercel, garantindo segurança e facilidade de configuração.
Para realizar um deploy manual ou configurar seu próprio ambiente de produção, consulte a documentação oficial da Vercel ou da plataforma de hospedagem de sua escolha.
Contribuição Contribuições são muito bem-vindas e podem ajudar a melhorar o Dev Controle. Se você deseja contribuir:
-
Faça um fork do repositório.
-
Crie uma branch para sua feature:
git checkout -b feature/AmazingFeature
- Faça commit das suas mudanças:
git commit -m 'Add some AmazingFeature'
- Push para a branch:
git push origin feature/AmazingFeature
Para questões, sugestões ou colaborações, sinta-se à vontade para entrar em contato através de qualquer um dos canais acima.