icarojobs /
freezer-control
Sistema de gestão de freezers
Loading repository data…
sumixaM-Eduardo / repository
Sistema de gestão de bibliotecas desenvolvido em C para o projeto final da disciplina de Programação 1 da UFAL.
Projeto Final de Laboratório e Prática de Programação 1 desenvolvido como requisito avaliativo do Curso de Bacharelado em Sistemas de Informação da Universidade Federal de Alagoas (UFAL).
O Sistema de Gestão de Biblioteca é uma aplicação de linha de comando desenvolvida inteiramente na linguagem C. O software foi projetado utilizando o conceito de modularização para simular de forma fiel as regras de negócio e operações cotidianas de uma biblioteca universitária.
O projeto aplica em sua construção os seguintes conceitos técnicos fundamentais:
A árvore do diretório do projeto está organizada seguindo os padrões recomendados para a linguagem C, separando definições de cabeçalhos, códigos de implementação e os arquivos físicos de dados:
sistema-gestao-biblioteca/
│
├── .gitignore # Ignora binários e logs locais no Git
├── CMakeLists.txt # Configuração de automação de build do CMake
├── README.md # Documentação oficial do projeto
│
├── include/ # Arquivos de cabeçalho (.h) - Protótipos e Structs
│ ├── emprestimo.h # Estrutura de empréstimos e protótipos de locação
│ ├── livro.h # Estrutura de livros e protótipos de acervo
│ ├── menu.h # Protótipos de navegação e interfaces do terminal
│ ├── relatorios.h # Protótipo de auditoria e histórico do sistema
│ └── usuario.h # Estrutura de usuários e protótipos de autenticação
│
├── src/ # Código-fonte funcional (.c) - Lógica de Negócio
│ ├── emprestimo.c # Regras de empréstimos, devoluções e listagens
│ ├── livro.c # Controle de estoque, cadastro, edição e remoção de livros
│ ├── main.c # Entrada do programa, carga de dados e inicialização
│ ├── menu.c # Implementação visual dos menus e fluxos de navegação
│ ├── relatorios.c # Manipulação de registros e logs no arquivo de texto
│ └── usuario.c # Autenticação, controle de sessão e cadastro de usuários
│
└── data/ # Diretório reservado para persistência de dados
├── .gitkeep # Preserva a pasta vazia no controle de versão do Git
├── usuarios.dat # Base de dados binária dos usuários do sistema
├── livros.dat # Base de dados binária do acervo de livros
├── emprestimos.dat # Registro binário das operações de empréstimos
└── historico.log # Arquivo de texto com o histórico de logs do sistema
O projeto utiliza o CMake para a automação de compilação, permitindo o gerenciamento isolado de arquivos binários intermediários (out-of-source build). Certifique-se de ter as ferramentas básicas instaladas antes de iniciar.
Pré-requisitos: O pacote cmake e o compilador gcc (contido no grupo base-devel). No Arch Linux, instale via terminal:
sudo pacman -S cmake base-devel
mkdir build
cd build && cmake ..
make
Para o primeiro acesso ao sistema, a aplicação conta com uma conta de administrador (root) pré-configurada diretamente na lógica de inicialização para permitir o gerenciamento inicial de usuários, livros e empréstimos:
rootroot123⚠️ Nota de Segurança: Recomenda-se a alteração das credenciais padrão ou o cadastro de um novo operador com privilégios administrativos assim que o sistema for inicializado pela primeira vez no ambiente local.
A aplicação é dividida em módulos independentes e complementares, acessíveis de acordo com o nível de privilégio do usuário autenticado:
.log): Registro cronológico em tempo real de todas as ações importantes (logins, cadastros, alterações e exclusões).Para garantir a integridade das informações e a rastreabilidade das operações realizadas no sistema, a aplicação utiliza mecanismos de persistência em arquivos físicos e auditoria automatizada:
data/*.dat)Diferente de arquivos de texto comuns, os dados de usuários, livros e empréstimos são gravados diretamente em formato binário. Isso oferece:
structs) na memória para o disco.data/historico.log)Todas as atividades críticas do sistema disparam uma rotina de auditoria que grava informações cronológicas no arquivo de log:
a), garantindo que os registros antigos nunca sejam sobrescritos, apenas incrementados.Este projeto foi desenvolvido como parte das atividades acadêmicas do curso de Sistemas de Informação na Universidade Federal de Alagoas (UFAL).
Desenvolvido com dedicação por:
Sinta-se à vontade para clonar, testar o código e sugerir melhorias abrindo uma Issue ou um Pull Request no repositório! 🚀
Selected from shared topics, language and repository description—not editorial ratings.
icarojobs /
Sistema de gestão de freezers
steffmartin /
Sistema de gestão completo para condomínios | Spring/Boot/Data/JPA/Security + Hibernate + Thymeleaf
isinhah /
Sistema de gestão de pedidos de café, desenvolvido em Java e Spring Boot com arquitetura de microsserviços para notificações automatizadas (E-mail/SMS)
GustavoEmmel /
Sistema de gestão do condomínio Porto Seguro II.
ibgreg /
EasyCond – Sistema de Gestão de Condomínio
ChrysthianMoizes /
Sistema para cadastro e gestão de provas