https://github.com/abhinav-kumar012/olms
online library management system
https://github.com/abhinav-kumar012/olms
c-language file-handling-in-c file-locking linux logging make multithreading os socket-programming syscall
Last synced: 3 months ago
JSON representation
online library management system
- Host: GitHub
- URL: https://github.com/abhinav-kumar012/olms
- Owner: Abhinav-Kumar012
- License: mit
- Created: 2024-05-17T09:31:07.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2026-01-13T05:57:26.000Z (3 months ago)
- Last Synced: 2026-01-13T08:45:16.347Z (3 months ago)
- Topics: c-language, file-handling-in-c, file-locking, linux, logging, make, multithreading, os, socket-programming, syscall
- Language: C
- Homepage:
- Size: 416 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# OLMS (online library mangement system)
The Online Library Management System (OLMS) is a secure and efficient platform designed to streamline library operations. It features user authentication, password-protected administrative access, and comprehensive book management. Leveraging system calls for file handling and multithreading, along with socket programming for concurrent client access, OLMS ensures optimal performance, data consistency, and secure access to library resources.
other requirements for project are mentioned in [MiniProject.pdf](./MiniProject.pdf)
## Features
- admin user
- add books
- delete books
- modify books
- search books
- add users
- modify user's password
- normal user
- issue books
- return books
- see books to be returned
- the server generates the log file for successful change in library in ```activity.log``` file produced during runtime
## project structure
```src``` : contains source code for server and client \
```include``` : contains all header files \
```bin``` : will store final binaries and other files produced during runtime like logs and binary files
## How to run
### installing prerequisites
#### ubuntu
``` bash
sudo apt update
sudo apt install build-essential -y
```
### building the project
``` bash
git clone https://github.com/Abhinav-Kumar012/olms.git
cd olms
make all #to build both server and client
make server #to build server only
make client #to build client only
make clean #to clean bin folder
```
### running the project
to run the server
``` bash
cd bin
chmod +x server
./server
```
to run the client
``` bash
cd bin
chmod +x client
./client
```
Note : client can't run without starting the server