Skip to content

wwwbrunagon/auth-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Monorepo Structure

auth-system/
│
├── apps/
│   ├── api/   # Backend (Node + Express + MongoDB)
│   │   ├── src/
│   │   │   ├── app.ts
│   │   │   ├── routes/
│   │   │   │   └── index.ts
│   │   │   │
│   │   │   ├── config/
│   │   │   │   └── auth.ts # JWT config
│   │   │   │
│   │   │   ├── infra/
│   │   │   │   ├── server.ts # bootstrap
│   │   │   │   ├── db/
│   │   │   │   │   └── mongoose.ts
│   │   │   │   └── middleware/
│   │   │   │       └── auth.ts # JWT middleware
│   │   │   │
│   │   │   └── modules/
│   │   │       └── auth/
│   │   │           ├── controller.ts
│   │   │           ├── service.ts
│   │   │           ├── repository.ts
│   │   │           ├── model.ts
│   │   │           └── dto.ts
│   │   │
│   │   ├── .env
│   │   ├── package.json
│   │   └── tsconfig.json
│   │
│   └── web/ # Frontend (React + TypeScript)
│       ├── src/
│       │   ├── app/
│       │   │   ├── providers/
│       │   │   │   └── QueryProvider.tsx
│       │   │   │
│       │   │   └── routes/
│       │   │       ├── AppRouter.tsx
│       │   │       ├── Login.tsx
│       │   │       └── Welcome.tsx
│       │   │
│       │   ├── features/
│       │   │   └── auth/
│       │   │       ├── api/
│       │   │       │   └── login.ts
│       │   │       ├── hooks/
│       │   │       │   └── useLogin.ts
│       │   │       └── store/
│       │   │           └── authStore.ts
│       │   │
│       │   ├── main.tsx
│       │   └── vite.config.ts
│       │
│       ├── index.html
│       ├── package.json
│       └── tsconfig.json
│
├── packages/
│   └── shared/ # (prepared for future scale)
│       ├── types/
│       └── validation/
│
├── package.json # root workspace
├── pnpm-workspace.yaml
├── pnpm-lock.yaml
├── tsconfig.base.json
└── README.md

Backend (API)

Controller → Service → Repository → Database:

Controller → Service → Repository → Database

Camada Função
Controller HTTP (req/res)
Service regra de negócio
Repository acesso ao banco
Model schema (Mongoose)
Middleware autenticação (JWT)

Frontend (Web)

Feature-oriented architecture:

UI → Hooks → API → Backend

Responsibilities:

Camada Função
Routes navigation
Hooks state
API HTTP communication
Store global state(auth)

Authentication Flow


[Register]
Frontend → POST /api/register → MongoDB

[Login]
Frontend → POST /api/login → JWT

[Auth]
Frontend → Authorization: Bearer <token> → /api/me

Stack

Backend

  • Node.js
  • Express
  • MongoDB + Mongoose
  • JWT (jsonwebtoken)
  • bcrypt

Frontend

  • React + TypeScript
  • Vite
  • React Query
  • Zustand

Infra

  • pnpm (monorepo)
  • TypeScript

Scripts

  • Root: pnpm dev
  • Backend: pnpm --filter api dev
  • Fronted: pnpm --filter web dev

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors