https://github.com/danieldantasdev/devfreela_api-restful_clean-architecture_dotnet-7.0.2_csharp-11
Plataforma para cadastro e contratação de serviços de freelance de desenvolvedores, basicamente a aplicação vai ligar o cliente final aos freelancers.
https://github.com/danieldantasdev/devfreela_api-restful_clean-architecture_dotnet-7.0.2_csharp-11
api authentication authorization clean-architecture clean-code cqrs dotnet dotnet-core jwt rabbitmq repository xunit
Last synced: about 1 year ago
JSON representation
Plataforma para cadastro e contratação de serviços de freelance de desenvolvedores, basicamente a aplicação vai ligar o cliente final aos freelancers.
- Host: GitHub
- URL: https://github.com/danieldantasdev/devfreela_api-restful_clean-architecture_dotnet-7.0.2_csharp-11
- Owner: danieldantasdev
- Created: 2023-05-02T10:19:08.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2023-07-12T04:11:08.000Z (almost 3 years ago)
- Last Synced: 2025-01-25T20:43:11.759Z (over 1 year ago)
- Topics: api, authentication, authorization, clean-architecture, clean-code, cqrs, dotnet, dotnet-core, jwt, rabbitmq, repository, xunit
- Language: C#
- Homepage:
- Size: 424 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# O que é o DevFreela?
- Plataforma para cadastro e contratação de serviços de freelance de desenvolvedores, basicamente a aplicação vai ligar o cliente final aos freelancers.
# Qual o problema?
- Pela alta demanda de novos projetos no mercado de tecnologia, a necessidade de se delegar módulos ou projetos inteiros se torna cada vez mais comum.
# Modelando o domínio
- O DevFreela oferece uma plataforma unificada para **Clientes** contratarem os melhores **Freelancers** para seus **Projetos**, de maneira confiável e gerenciada.
- Os **Clientes** definem as características dos **Projetos** que publicam. Os **freelancers** se comunicam com eles a respeito do **Projeto**, e suas habilidades.
- Os **Clientes** iniciam o **Projeto** com um **Freelancer** que tenha um **Perfil** adequado ao **Projeto**, interagindo com ele até concluir o **Projeto**.
# Fluxo principal
- O **Cliente** publica uma oportunidade de projeto na plataforma, com título, descrição e outras informações.
- Um **Freelancer** encontra essa oportunidade, e troca mensagens com **Cliente**.
- Acertadas as condições, o **Cliente** seleciona o **Freelancer** como profissional escolhido, e inicia o projeto.
# Requisitos funcionais
## Freelancer
- **Freelancer** deve visualizar o dashboard principal.
- **Freelancer** deve consultar serviços Freelance.
- **Freelancer** pode cadastrar serviços Freelance.
- **Freelancer** pode atualizar serviços Freelance.
- **Freelancer** pode deletar serviços Freelance.
## Cliente
- **Cliente** deve visualizar o dashboard principal.
- **Cliente** pode adicionar comentários ao serviço Freelance.
- **Cliente** deve visualizar consultar serviços Freelance.
- **Cliente** pode definir um projeto.
- **Cliente** pode iniciar um projeto.
- **Cliente** pode finalizar um projeto.
## Usuário
- **Usuário** pode cadastrar novos usuários.
# Diagrama de caso de uso

# Tecnologias, padrões e arquiteturas
- ASP.NET Core com .NET 7;
- Arquitetura Limpa;
- Entity Framework Core;
- CQRS;
- Padrão Repository;
- Validação de API com FluentValidation;
- Autenticação e Autorização com JWT;
- Testes unitários com xUnit;
- Mensageria com RabbitMQ;