FlatBufferNet
FlatBufferNet é um projeto de software desenvolvido para calcular a idade de uma pessoa com base na sua data de nascimento, utilizando o formato de serialização de dados FlatBuffers para persistência e manipulação eficiente dos dados. O projeto é desenvolvido com .NET e oferece uma forma compacta e rápida de armazenar e recuperar informações.
Índice
- Visão Geral
- Tecnologias Utilizadas
- Instalação
- Como Usar
- Estrutura de Diretórios
- Configuração
- Contribuições
- Licença
- Contato
Visão Geral
Este projeto tem como objetivo calcular a idade de uma pessoa a partir de sua data de nascimento, utilizando FlatBuffers para serialização de dados e .NET como plataforma de desenvolvimento. Ele oferece as seguintes funcionalidades principais:
- Cálculo de Idade: A partir da data de nascimento fornecida, o sistema calcula a idade exata da pessoa.
- Persistência de Dados: Utiliza FlatBuffers para armazenar de forma eficiente os dados de entrada (nome e data de nascimento).
- Leitura e Escrita de Arquivo: Os dados podem ser salvos e carregados de arquivos binários, otimizando o uso de memória.
A arquitetura do projeto segue o modelo Clean Architecture, separando as responsabilidades de forma a garantir fácil manutenção e escalabilidade.
Tecnologias Utilizadas
Este projeto foi desenvolvido com as seguintes tecnologias:
- .NET 8: Plataforma de desenvolvimento principal para a criação do aplicativo.
- Google.FlatBuffers: Biblioteca para serialização e deserialização de dados binários.
- C#: Linguagem de programação utilizada para implementar a lógica do projeto.
Instalação
Pré-requisitos
Certifique-se de que você tem as seguintes ferramentas instaladas em seu ambiente de desenvolvimento:
- .NET SDK (versão 8 ou superior): Download do .NET
-
FlatBuffers Compiler (
flatc
): Instruções para instalar oflatc
Passos para Instalar
- Clone o repositório:
git clone https://github.com/seu-usuario/FlatBufferNet.git
cd FlatBufferNet
- Instale as dependências do projeto:
Se estiver utilizando o Visual Studio ou VS Code, abra a solução e restaure os pacotes.
Ou, se estiver utilizando a linha de comando, execute:
dotnet restore
- Gere o código C# a partir do schema do FlatBuffers:
flatc --csharp Pessoa.fbs
- Para rodar o projeto localmente, use o seguinte comando:
dotnet run
Como Usar
Este projeto pode ser utilizado para calcular a idade de uma pessoa a partir de sua data de nascimento. O exemplo abaixo mostra como a informação é manipulada.
- Input: Nome e Data de Nascimento de uma pessoa.
- Processamento: O sistema calcula a idade a partir da data fornecida.
- Output: A idade da pessoa será exibida no console.
Exemplos de Uso
Após rodar o projeto, você verá a saída no console:
Nome: João
Idade: 34 anos
Como Modificar os Dados
Você pode alterar o nome e a data de nascimento no código Program.cs
:
string nome = "João";
DateTime dataNascimento = new DateTime(1990, 5, 15); // Exemplo de data de nascimento
Estrutura de Diretórios
A estrutura do projeto segue uma organização simples e modular:
src/
├── Pessoa.fbs # Arquivo de schema do FlatBuffers
├── Program.cs # Lógica principal do cálculo de idade
├── obj/ # Arquivos temporários de build
└── bin/ # Arquivos de saída (binários)
Configuração
Este projeto não exige configurações complexas, mas pode ser estendido para incluir outros parâmetros de configuração, como variáveis de ambiente ou conexões com outros serviços, caso necessário.
Contribuições
Contribuições são bem-vindas! Para contribuir com o projeto, siga estas etapas:
- Faça um fork do repositório.
- Crie uma nova branch para sua feature (ex:
git checkout -b feature/nova-feature
). - Faça as alterações necessárias e commit (ex:
git commit -m 'Adiciona nova-feature'
). - Envie as alterações para seu repositório (ex:
git push origin feature/nova-feature
). - Crie um pull request para a branch principal do repositório original.
Licença
Este projeto está licenciado sob a Licença MIT. Consulte o arquivo LICENSE para mais detalhes.
Contato
Caso tenha dúvidas ou sugestões, entre em contato:
- Email: dopme.io
- LinkedIn: Danilo O. Pinheiro
- YouTube: dopme
Top comments (0)