Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/thangisme/libman

A library management app built with JavaFX
https://github.com/thangisme/libman

javafx

Last synced: 3 days ago
JSON representation

A library management app built with JavaFX

Awesome Lists containing this project

README

        


Libman


A library management app built with JavaFX



Key Features
How To Use
Showcase
Credits
License

![screenshot](./Screenshot/preview.png)

## Key Features

* CLI interface for basic operations
* Fully functional GUI for managing materials, loans, and users
* User authentication and authorization
* Allow non-librarian users to borrow and return materials
* Nice statistics dashboard for librarians

## How To Use

First, you need to set up the database. You can find the database scheme and optionally the sample database
in `resources/db` folder.
Should you import the sample database, you can use the following credentials:

```
Admin account
Username: [email protected]
Password: 12345

User account
Username: [email protected]
Password: 12345
```

After setting up the database, copy the `example.env` file to `.env` and change the values to match your database
configuration.

This application depends on OpenCV 4.7.0 for scanning QR Code. Make sure you have the OpenCV native libraries installed on your system.
Please refer to the [OpenCV installation guide](https://docs.opencv.org/4.x/df/d65/tutorial_table_of_content_introduction.html) for more information.

To run the console application, you can use the following command:

```bash
mvn clean compile exec:java
```

Alternatively, you can run the GUI application using the following command:

```bash
mvn clean compile javafx:run
```

## Showcase
|

![Librarian homepage](./Screenshot/preview1.png)
[Librarian homepage](https://github.com/thangisme/Libman/blob/master/Screenshot/preview1.png)
|
![Materials management](./Screenshot/preview2.png)
[Materials management](https://github.com/thangisme/Libman/blob/master/Screenshot/preview2.png)
|
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
![Users management](./Screenshot/preview3.png)
[Users management](https://github.com/thangisme/Libman/blob/master/Screenshot/preview3.png)
|
![Loans management](./Screenshot/preview4.png)
[Loans management](https://github.com/thangisme/Libman/blob/master/Screenshot/preview4.png)
|
|
![User homepage](./Screenshot/preview8.png)
[User homepage](https://github.com/thangisme/Libman/blob/master/Screenshot/preview8.png)
|
![User loans](./Screenshot/preview5.png)
[User loans](https://github.com/thangisme/Libman/blob/master/Screenshot/preview5.png)
|
|
![User homepage section](./Screenshot/preview9.png)
[User homepage section](https://github.com/thangisme/Libman/blob/master/Screenshot/preview9.png)
|
![User material searching](./Screenshot/preview10.png)
[User material searching](https://github.com/thangisme/Libman/blob/master/Screenshot/preview10.png)
|
|
![CLI show user details](./Screenshot/preview6.png)
[CLI show user details](https://github.com/thangisme/Libman/blob/master/Screenshot/preview6.png)
|
![CLI show material details](./Screenshot/preview7.png)
[CLI show material details](https://github.com/thangisme/Libman/blob/master/Screenshot/preview7.png)
|

## Credits

This software uses the following open source packages:

- [JavaFX](https://openjfx.io/)
- [AtlantaFX](https://mkpaz.github.io/atlantafx/) - An excellent JavaFX theme with great documentation.
- [Ikonli](https://kordamp.org/ikonli/)
- [Feather Icons](https://feathericons.com)
- [Saravanan](https://dribbble.com/shots/20950405--Library-Management-System) - For the design inspiration

## License

MIT