https://github.com/iugmali/coderhouse-almeida
Projeto criado para o curso ReactJs da Coderhouse, turma 50920. O projeto é um aplicativo fullstack que utiliza NextJS como framework React, Auth.JS para autenticação, tailwind CSS para estilização, e firebase-admin para requisições do lado do servidor.
https://github.com/iugmali/coderhouse-almeida
authjs firebase-admin nextjs tailwindcss
Last synced: about 1 month ago
JSON representation
Projeto criado para o curso ReactJs da Coderhouse, turma 50920. O projeto é um aplicativo fullstack que utiliza NextJS como framework React, Auth.JS para autenticação, tailwind CSS para estilização, e firebase-admin para requisições do lado do servidor.
- Host: GitHub
- URL: https://github.com/iugmali/coderhouse-almeida
- Owner: iugmali
- Created: 2023-11-08T17:54:20.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-06-22T07:38:17.000Z (9 months ago)
- Last Synced: 2025-06-22T08:26:41.063Z (9 months ago)
- Topics: authjs, firebase-admin, nextjs, tailwindcss
- Language: TypeScript
- Homepage: https://coderstore.iugmali.com
- Size: 548 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# coderstore-almeida
Loja online onde se pode comprar bibliotecas de código, linguagens e frameworks como se fossem itens de mercado.
Projeto criado para o curso ReactJs da Coderhouse, turma 50920. O projeto utiliza o NextJS v14 como framework React e tailwind CSS para estilização, framer-motion para animações básicas, Zustand junto ao Immer para gerenciamento de estado, Auth.js para autenticação, e o SDK do firebase-admin para acesso ao firebase/firestore e storage pelo lado do servidor.
Versão em produção: https://coderstore.iugmali.com
## Setup do Projeto
Copie o arquivo .env.example para .env
```bash
cp .env.example .env
```
### Firebase
Crie um novo projeto no firebase, e obtenha o json com as credenciais do projeto em settings > Service Accounts > Generate new private key. Popule o arquivo .env com o projectId, clientEmail e privateKey obtidos no arquivo gerado.
Ative a Firestore Database e o Storage, ambos começando em modo de produção.
### Auth.js
Rode o comando
```bash
openssl rand -base64 32
```
E popule a variável AUTH_SECRET com a string gerada.
### Se o arquivo .env já estiver preenchido corretamente, rode o comando para popular o firestore e storage.
```bash
npm run seed
```
## Rodando a aplicação
Rodando o servidor de desenvolvimento (disponível em http://localhost:3000):
```bash
npm run dev
```
Rodando o servidor em produção (disponível em http://localhost:3000):
```bash
npm run build
npm start
```
Rodando a aplicação em docker (disponível em http://localhost:3344)
```bash
docker-compose up -d --build
```