Skip to content

Nathanmt10/getninjas-clone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

GetNinjas Clone

Um clone do GetNinjas desenvolvido com React, Node.js e MongoDB, onde clientes podem publicar pedidos de serviços e freelancers podem encontrar e desbloquear esses pedidos usando moedas virtuais.

Estrutura do Projeto

getninjas-clone/
├── backend/          # API Node.js + Express
│   ├── config/       # Configurações (banco de dados, etc.)
│   ├── controllers/  # Controladores das rotas
│   ├── middleware/   # Middlewares (autenticação, etc.)
│   ├── models/       # Modelos do MongoDB (Mongoose)
│   ├── routes/       # Definições das rotas da API
│   ├── uploads/      # Arquivos enviados pelos usuários
│   ├── .env          # Variáveis de ambiente
│   ├── package.json  # Dependências do backend
│   └── server.js     # Arquivo principal do servidor
└── frontend/         # Aplicação React
    ├── public/       # Arquivos públicos
    ├── src/          # Código fonte React
    ├── package.json  # Dependências do frontend
    └── ...

Funcionalidades

Para Clientes

  • Cadastro e login
  • Criar e gerenciar pedidos de serviço
  • Acompanhar freelancers interessados
  • Receber notificações por e-mail

Para Freelancers

  • Cadastro com áreas de especialização
  • Buscar e filtrar pedidos por categoria
  • Comprar pacotes de moedas virtuais
  • Desbloquear pedidos usando moedas
  • Histórico de transações

Sistema de Moedas

  • Pacotes de moedas com diferentes valores
  • Custo dinâmico de desbloqueio (diminui conforme mais freelancers desbloqueiam)
  • Máximo de 5 freelancers por pedido
  • Integração com gateway de pagamento

Tecnologias Utilizadas

Backend

  • Node.js
  • Express.js
  • MongoDB + Mongoose
  • JWT para autenticação
  • bcryptjs para hash de senhas
  • Multer para upload de arquivos
  • CORS

Frontend

  • React + TypeScript
  • React Router DOM
  • Axios para requisições HTTP
  • CSS Modules / Styled Components

Como Executar

Backend

cd backend
npm install
npm run dev

Frontend

cd frontend
npm install
npm start

Variáveis de Ambiente

Crie um arquivo .env na pasta backend com as seguintes variáveis:

PORT=5000
MONGODB_URI=mongodb://localhost:27017/getninjas
JWT_SECRET=sua_chave_secreta_jwt_aqui
NODE_ENV=development

Contribuição

Este projeto foi desenvolvido como um clone educacional do GetNinjas para demonstrar conceitos de desenvolvimento full-stack.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors