Sistema moderno de gerenciamento de eventos com autenticação, compra de ingressos e interface responsiva.
# Instalar dependências
npm install
# Configurar ambiente
cp .env.example .env
# Iniciar servidor
npm run dev| Backend | Frontend |
|
• Node.js + Express • MongoDB • JWT (autenticação) • Swagger (documentação) |
• JavaScript (ES6+) • HTML5 + CSS3 • Design Responsivo |
.
├── 📂 src/
│ ├── 📂 config/ # Configurações
│ ├── 📂 controllers/ # Controladores
│ ├── 📂 events/ # Lógica de eventos
│ ├── 📂 middleware/ # Middlewares
│ ├── 📂 models/ # Modelos MongoDB
│ ├── 📂 routes/ # Rotas da API
│ └── 📂 utils/ # Utilitários
├── 📄 .env
├── 📄 .gitignore
├── 📄 package.json
└── 📄 README.md
| ✅ Autenticação de usuários | ✅ Sistema de busca |
| ✅ CRUD de eventos | ✅ Interface responsiva |
| ✅ Compra de ingressos | ✅ Modo escuro/claro |
1️⃣ Clone o repositório
git clone https://github.com/igorrsilvaaf/API_eventos_JavaScript.git
cd API_eventos_JavaScript2️⃣ Instale as dependências
npm install3️⃣ Configure o ambiente
# Crie o arquivo .env
cp .env.example .env
# Configure as variáveis
PORT=3000
MONGODB_URI=sua_url_mongodb
SECRET_KEY=sua_chave_secreta4️⃣ Inicie o servidor
npm run dev| Método | Endpoint | Descrição |
|---|---|---|
POST |
/api/auth/register |
Registro de usuário |
POST |
/api/auth/login |
Login |
POST |
/api/auth/refresh |
Refresh token |
| Método | Endpoint | Descrição |
|---|---|---|
GET |
/api/events |
Lista eventos |
POST |
/api/events |
Cria evento |
GET |
/api/events/:id |
Detalhes do evento |
PUT |
/api/events/:id |
Atualiza evento |
DELETE |
/api/events/:id |
Remove evento |
| Método | Endpoint | Descrição |
|---|---|---|
POST |
/api/tickets |
Compra ingresso |
GET |
/api/tickets/user |
Ingressos do usuário |
Acesse a documentação completa da API em:
http://localhost:3000/api-docs
- Fork o projeto
- Crie sua feature branch
git checkout -b feature/nova-feature
- Commit suas mudanças
git commit -m 'Adiciona nova feature' - Push para a branch
git push origin feature/nova-feature
- Abra um Pull Request
MIT © Igor Silva
Feito com ❤️ por Igor Silva