Este projeto implementa um sistema de gerenciamento de produtos, com funcionalidades como pesquisa, adição, atualização, remoção de produtos e autenticação de usuários. O sistema utiliza um banco de dados SQLite para persistir dados e foi desenvolvido utilizando conceitos de Programação Orientada a Objetos (OOP).
- Cadastro de usuários: Permite que novos usuários se registrem no sistema, utilizando um nome de usuário e uma senha criptografada.
- Autenticação de usuários: Os usuários podem fazer login com seu nome de usuário e senha, e um token de autenticação é gerado para garantir sessões seguras.
- Gestão de Produtos:
- Adicionar produtos
- Pesquisar produtos
- Atualizar produtos
- Remover produtos
- C++: Linguagem principal utilizada para o desenvolvimento do sistema.
- CROW: Framework de C++ utilizado para o servidor.
- SQLite: Banco de dados leve utilizado para armazenar informações de usuários, tokens e produtos.
- Programação Orientada a Objetos (OOP): O sistema foi projetado utilizando conceitos de OOP, organizando as funcionalidades em classes e objetos.
- DBManager: Classe responsável por gerenciar as operações no banco de dados, como buscar, inserir, atualizar e remover registros.
- Produto:
Representa os produtos armazenados no banco de dados, contendo atributos como
id,nome,quantidadeecategoria.
- Encapsulamento: Todos os dados e operações relacionadas aos produtos e usuários estão encapsulados dentro de suas respectivas classes.
- Abstração: As operações no banco de dados são abstraídas na classe
DBManager, escondendo detalhes de implementação da camada superior.
Você pode abrir a pasta release e abrir os arquivos crow.exe (para o frontend) e backend_projeto.exe (para o backend)
Antes de executar o sistema, certifique-se de que você tem as seguintes dependências instaladas:
- C++11 ou superior: Certifique-se de que o seu compilador suporta a versão C++11 ou superior.
- Boost: Biblioteca necessária para diversas operações no sistema.
- Crow: Framework C++ utilizado para criar servidores web.
- Biblioteca SQLite3: Utilizada para interação com o banco de dados.
- Instalar o Boost:
sudo apt-get update
sudo apt-get install libboost-all-dev- Instalar o Crow:
git clone https://github.com/CrowCpp/Crow.git
cd Crow
mkdir build
cd build
cmake ..
sudo make install- Instalar o SQLite3:
sudo apt-get install libsqlite3-dev- Clone o repositório:
git clone https://github.com/sillyveira/cinconecta-cpp.git
cd servidorcrow- Compile e execute:
g++ -std=c++11 main.cpp -o backend_projeto -lboost_system -lboost_filesystem -lsqlite3 -lpthreadPara rodar o frontend deste projeto, é necessário buildar o projeto Flutter presente na pasta frontend/cinconecta-flutter. Siga os passos abaixo para configurar e executar o frontend corretamente.
Primeiro, clone o repositório para o seu ambiente local. Abra o Git Bash e execute o comando:
git clone https://github.com/sillyveira/cinconecta-cpp.gitNavegue até o diretório onde o código do Flutter está localizado:
cd cinconecta-cpp/frontend/cinconecta-flutterAntes de compilar o projeto, instale as dependências necessárias. Execute o seguinte comando para garantir que todos os pacotes do Flutter sejam baixados:
flutter pub getAgora, gere os arquivos necessários para rodar o frontend. Para isso, execute:
flutter buildPara rodar o projeto em um emulador ou dispositivo conectado, use o comando:
flutter runIsso irá compilar e iniciar o aplicativo Flutter.
