8000 GitHub - cordeiroe/API_RaquetApp
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

cordeiroe/API_RaquetApp

Repository files navigation

RaquetMatch API

🎾 Sobre o Projeto

A RaquetMatch API é o backend do aplicativo mobile RaquetMatch, uma plataforma de intermediação entre alunos e professores de esportes de raquete. Esta API gerencia o cadastro de usuários, perfis de professores, buscas geoespaciais, agendamentos de aulas e muito mais.

Principais Funcionalidades

  • Gerenciamento de usuários (alunos e professores)
  • Perfis detalhados de professores com especialidades e disponibilidade
  • Sistema de busca por proximidade
  • Agendamento de aulas
  • Autenticação e autorização via JWT

🛠️ Tecnologias Utilizadas

  • Node.js - Ambiente de execução JavaScript
  • Fastify - Framework web de alta performance
  • MongoDB - Banco de dados NoSQL com suporte a consultas geoespaciais
  • Docker - Conteinerização para ambiente consistente
  • JWT - Autenticação e autorização

📋 Pré-requisitos

🚀 Instalação e Configuração

Clonando o Repositório

git clone https://github.com/cordeiroe/API_RaquetApp.git
cd raquet-api

Configurando Variáveis de Ambiente

  1. Crie um arquivo .env baseado no .env.example:
cp .env.example .env
  1. Edite o arquivo .env com suas configurações:
PORT=3000
NODE_ENV=development

# Configurações do MongoDB
MONGO_USER=seu_usuario
MONGO_PASSWORD=sua_senha
MONGO_HOST=localhost
MONGO_PORT=27017
MONGO_DB=raquetdb

# Configurações do Mongo Express
MONGO_EXPRESS_USER=seu_usuario
MONGO_EXPRESS_PASSWORD=sua_senha

# JWT
JWT_SECRET=sua_chave_secreta_muito_segura

⚠️ IMPORTANTE: Nunca compartilhe seu arquivo .env com valores reais ou faça commit dele no repositório.

Iniciando com Docker

  1. Inicie os containers do MongoDB e Mongo Express:
docker-compose up -d
  1. Aguarde os containers estarem prontos e então inicie a aplicação:
npm install
npm run dev

Sem Docker (Desenvolvimento Local)

Se preferir usar um MongoDB já instalado em sua máquina:

  1. Ajuste as configurações no .env para apontar para sua instalação do MongoDB
  2. Instale as dependências e inicie a aplicação:
npm install
npm run dev

📝 Documentação da API

A documentação completa da API está disponível via Swagger UI:

Esta documentação interativa permite explorar todos os endpoints, parâmetros e testar as funcionalidades da API diretamente pelo navegador.

🚦 Endpoints Principais

  • Autenticação: /auth/login
  • Usuários: /users
  • Perfis de Professores: /teachers
  • Busca de Professores: /teachers/search

📂 Estrutura do Projeto

src/
├── models/           # Modelos do MongoDB
├── plugins/          # Plugins do Fastify
├── routes/           # Rotas da API
│   ├── auth/         # Autenticação
│   ├── users/        # Gerenciamento de usuários
│   └── teachers/     # Perfis de professores
├── schemas/          # Schemas comuns
└── app.js            # Configuração principal

📋 To-Do

  • Implementar sistema de agendamentos
  • Adicionar busca geoespacial para encontrar professores próximos
  • Desenvolver sistema de avaliações de professores
  • Implementar notificações
  • Implementar sistema de pagamentos
  • Desenvolver testes automatizados (em breve)

🧪 Testes

Os testes automatizados serão desenvolvidos em breve. Por enquanto, você pode testar manualmente usando o Swagger ou ferramentas como Insomnia/Postman.

# Quando disponíveis, os testes poderão ser executados com:
npm test

📱 Aplicação Mobile

Esta API serve como backend para o aplicativo mobile RaquetMatch, disponível para Android e iOS, que facilita a conexão entre alunos e professores de esportes de raquete.

📄 Licença

MIT


Desenvolvido por Emerson Marques © 2025

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0