Skip to content

Freelas is a modern web platform designed to connect talented freelancers with clients seeking professional services. This application provides an intuitive and secure environment where freelancers can showcase their skills and clients can find the best professionals for their projects.

License

Notifications You must be signed in to change notification settings

aleksanderpalamar/Freelas

Repository files navigation

Freelas - Plataforma de Conexão entre Freelancers e Clientes

Sobre o Projeto

Freelas é uma plataforma web moderna desenvolvida para conectar freelancers talentosos com clientes em busca de serviços profissionais. Esta aplicação oferece um ambiente intuitivo e seguro para que freelancers possam mostrar suas habilidades e clientes possam encontrar os melhores profissionais para seus projetos.

Principais Funcionalidades

  • Autenticação de usuários (login/registro)
  • Perfis personalizados para freelancers e clientes
  • Dashboard para gerenciamento de projetos e propostas
  • Sistema de busca e filtragem de projetos/freelancers
  • Comunicação direta entre clientes e freelancers
  • Sistema de avaliações e feedback

Tecnologias Utilizadas

O projeto Freelas foi construído utilizando as seguintes tecnologias e frameworks:

  • Next.js 15.1.4 com App Router: Framework React para renderização híbrida e estática
  • React: Biblioteca JavaScript para construção de interfaces de usuário
  • TypeScript: Superset do JavaScript que adiciona tipagem estática
  • Tailwind CSS: Framework CSS utilitário para design rápido e responsivo
  • Shadcn/ui: Biblioteca de componentes UI reutilizáveis
  • Prisma ORM: ORM moderno para Node.js e TypeScript
  • PostgreSQL: Sistema de gerenciamento de banco de dados relacional
  • NextAuth.js: Solução de autenticação para Next.js

Estrutura do Projeto

freelas/
├── app/                    # Diretório principal da aplicação (App Router)
│   ├── (private)/         # Rotas privadas (requerem autenticação)
│   ├── api/               # Endpoints da API
│   └── layout.tsx         # Layout principal da aplicação
├── components/            # Componentes reutilizáveis
├── lib/                   # Utilitários e configurações
├── prisma/               # Configurações do Prisma e schemas
├── provider/             # Provedores de contexto
├── public/               # Arquivos estáticos
└── types/                # Definições de tipos TypeScript

Configuração do Ambiente de Desenvolvimento

Pré-requisitos

  • Node.js 18.x ou superior
  • PostgreSQL
  • NPM ou Yarn

Instalação

  1. Clone o repositório:
git clone https://github.com/aleksanderpalamar/freelas.git
cd freelas
  1. Instale as dependências:
npm install
# ou
yarn install
  1. Configure as variáveis de ambiente:
cp .env.example .env
  1. Configure suas variáveis no arquivo .env:
#Database
DATABASE_URL=postgresql://seu-usuario:senha@localhost:5432/freelas_db

#NextAuth
NEXTAUTH_SECRET=sua-chave-secreta
NEXTAUTH_URL=http://localhost:3000

#Google Provider
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
  1. Execute as migrações do banco de dados:
npx prisma migrate dev
  1. Inicie o servidor de desenvolvimento:
npm run dev
# ou
yarn dev

Scripts Disponíveis

  • npm run dev: Inicia o servidor de desenvolvimento
  • npm run build: Gera a build de produção
  • npm run start: Inicia o servidor de produção
  • npm run lint: Executa a verificação de linting
  • npm run prisma:studio: Abre o Prisma Studio para gerenciamento do banco de dados

Estrutura do Banco de Dados

O projeto utiliza Prisma como ORM com PostgreSQL. Os principais modelos incluem:

  • User (Usuários)
  • Profile (Perfis)
  • Project (Projetos)
  • Proposal (Propostas)
  • Review (Avaliações)

Contribuição

  1. Faça um Fork do projeto
  2. Crie uma branch para sua feature (git checkout -b feature/NewFeature)
  3. Commit suas mudanças (git commit -m 'Add some NewFeature')
  4. Push para a branch (git push origin feature/NewFeature)
  5. Abra um Pull Request

Licença

Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE.md para detalhes.

Contato

Aleksander Palamar

About

Freelas is a modern web platform designed to connect talented freelancers with clients seeking professional services. This application provides an intuitive and secure environment where freelancers can showcase their skills and clients can find the best professionals for their projects.

Topics

Resources

License

Stars

Watchers

Forks