Uma aplicação FullStack simples, que utiliza autenticação com Kinde Auth, Supabase, Shadcn/ui, TailwindCSS, Stripe (pagamento), NextJS e Prisma ORM.
- Motivação
- Demonstração
- Funcionalidades
- Instalação
- Como Usar
- Configurar .env
- Stack
- Estrutura do Projeto
- Contribuição
- Licença
- Contato
- Agradecimentos
Este projeto foi criado para aprimorar conhecimentos em desenvolvimento de aplicações fullstack, integrando tecnologias como meio de pagamento (Stripe), ORM (Prisma) e banco de dados (Supabase). Ele utiliza diversas tecnologias de ponta, amplamente adotadas por empresas que buscam escalar seus produtos, tornando-o uma base valiosa para a criação de projetos maiores e mais robustos.
- Página inicial da aplicação ao fazer login:
- Página de configurações de perfil:
- Criar uma nova nota:
- Editar perfil e preferencias
- Alterar cores do tema da aplicação
- Criar notas
- Editar notas
- Deletar notas
- Listar notas
- Autenticação com Kinde
- Integração com pagamento para poder criar notas
-
Clone o repositório:
https://github.com/mayromyller/dev-anotar.git cd dev-anotar
-
Instale as dependências:
pnpm install
ou outro gerenciador de pacote de sua preferência.
-
Configure as variáveis de ambiente. Veja a seção Configurar .env para mais detalhes.
-
Execute o servidor de desenvolvimento:
pnpm dev
-
Abra a aplicação em
http://localhost:3000
. -
Faça autenticação e comece a utilizar.
Crie um arquivo .env
na raiz do projeto e adicione as seguintes variáveis:
KINDE_CLIENT_ID=
KINDE_CLIENT_SECRET=
KINDE_ISSUER_URL=
KINDE_SITE_URL=
KINDE_POST_LOGOUT_REDIRECT_URL=
KINDE_POST_LOGIN_REDIRECT_URL=
DATABASE_URL=
DIRECT_URL=
STRIPE_SECRET_KEY=
STRIPE_PRICE_ID=
STRIPE_WEBHOOK_SECRET=
- Frontend: NextJS 14, TailwindCSS, Shadcn/ui
- Backend: Node.js, Prisma, Supabase
- Autenticação: Kinde Auth
- Pagamento: Stripe
.
├── prisma
│ └── schema.prisma
├── src
│ ├── app
│ │ ├── payment
│ │ │ ├── success.tsx
│ │ │ └── cancelled.tsx
│ │ ├── dashboard
│ │ │ ├── billing.tsx
│ │ │ ├── index.tsx
│ │ ├── new
│ │ │ ├── [id].tsx
│ │ │ └── index.tsx
│ │ └── settings.tsx
│ ├── components
│ │ └── ui
│ └── ...
└── ...
Contribuições são bem-vindas! Para contribuir, siga estas etapas:
- Abra uma issue para discutir o que você gostaria de mudar.
- Faça um fork do repositório.
- Crie uma nova branch (
git checkout -b feature/descrição-da-feature
). - Faça as alterações desejadas.
- Envie suas mudanças (
git commit -am 'Adiciona nova feature'
). - Faça um push para a branch (
git push origin feature/descrição-da-feature
). - Crie um novo Pull Request.
Este projeto está licenciado sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.
- GitHub
- Email: [email protected]