An open API service indexing awesome lists of open source software.

https://github.com/mikayelgr/librarymanagementsystem

Java-based Library Management System developed as the final project for the Object-Oriented Programming (CS120) course at the American University of Armenia.
https://github.com/mikayelgr/librarymanagementsystem

deserialization final-project gson java json library-management-system object-oriented-programming oop serialization

Last synced: about 1 year ago
JSON representation

Java-based Library Management System developed as the final project for the Object-Oriented Programming (CS120) course at the American University of Armenia.

Awesome Lists containing this project

README

          

# Library Management System

Welcome to the Library Management System project developed by leasers of the Introduction to Object-Oriented
Programming course (CS120) at the American University of Armenia.

## UML Class Diagram

The latest UML diagram has been generated for the commit a3d34acb27d9d9ca254546c1ba18227793f41ecb.

![UML Class Diagram](static/diagrams/a3d34acb27d9d9ca254546c1ba18227793f41ecb.png)

## Overview

The Library Management System project is a comprehensive software solution developed by leasers of the Introduction to
Object-Oriented Programming course (CS120) at the American University of Armenia. The system aims to provide an
efficient and user-friendly platform for managing library operations in educational institutions, public libraries, and
other similar organizations.

Please note that while the Library Management System project is developed with high-quality standards and best
practices, it is primarily an educational project created for learning purposes. It is not intended for production use
in real-world library environments.

## Authors

- Koryun Grigoryan
- Mikayel Grigoryan
- Tigran Melkonyan

## Features

- User authentication and authorization system.
- CRUD (Create, Read, Update, Delete) operations for managing books, users, and other resources.
- Borrowing and returning books functionality.
- Search functionality for finding books by title, author, etc.

## Running the Program

The program uses the Gradle build system for all the tasks related to building and distributing the JAR files.
To run the program, follow the steps below:

1. Install OpenJDK (preferably version 19) on your system.
2. Clone the repository to your local machine from GitHub via Git using the following command:

```shell
git clone --depth=1 https://github.com/michaelgrigoryan25/LibraryManagementSystem
```

3. `cd`into the directory and trigger the following Gradle run script:

```shell
./gradlew --console plain run
```

That's it! You've successfully started the library management system on your local machine.

Optionally, you can also provide a path to the directory where you plan to store
all the files related to the system, including users, books, etc. by specifying a
positional CLI argument:

```shell
./gradlew --console plain run ./resources/
```

## Contributing

We welcome contributions from the community. If you find any issues or have suggestions for improvements, please feel
free to open an issue or submit a pull request.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.