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

https://github.com/major0001/bookah

Online Library Management System using the following technologies: - PHP 7.x for backend logic - MySQL 5.x for database management - HTML, CSS, JavaScript for frontend development - AJAX for asynchronous data exchange - jQuery for DOM manipulation
https://github.com/major0001/bookah

Last synced: 3 months ago
JSON representation

Online Library Management System using the following technologies: - PHP 7.x for backend logic - MySQL 5.x for database management - HTML, CSS, JavaScript for frontend development - AJAX for asynchronous data exchange - jQuery for DOM manipulation

Awesome Lists containing this project

README

        

# Welcome To BooKAH
## Online Library Management System (BooKAH)

- **Here**: [BooKAH Live](http://realcontrolandpower.tech)

## About BooKAH
Streamlining Library Operations with Enhanced User Experience

## Project Overview
The Online Library Management System (BookaH) aims to automate library operations, including book management, user authentication, and administrative tasks. This system is designed to benefit librarians, students, and library administrators by providing efficient book tracking, user management, and report generation functionalities.

## Team Members
- **Alex Wambua (me)**: Project Manager, Backend Developer, Frontend Developer, UI/UX Designer, Database Administrator

## Technologies Used
- **Backend**: PHP 7.4
- **Database**: MySQL 5.7
- **Frontend**: HTML, CSS, JavaScript
- **Asynchronous Data Exchange**: AJAX
- **DOM Manipulation**: jQuery

## Project Progress

### Rating
Done.(Minor improvements along the way)

### Measurement
Progress is measured based on the completion of foundational tasks:
- Database setup and schema design
- Development of user registration and login forms
- Initiation of frontend development for core user functionalities

### Explanation of Progress
**Completed as Planned:**
- **Database Implementation:** Successfully set up and populated tables such as `tblauthors`, `tblbooks`, `tblstudents`, `tblcategory`, `admin`, and `tblissuedbookdetails`.
- **Core Application Files:** Developed key files including `adminlogin.php`, `change-password.php`, `check_availability.php`, `dashboard.php`, `index.php`, `issued-books.php`, `listed-books.php`, `logout.php`, `my-profile.php`, `signup.php`, and `user-forgot-password.php`.
- **Functional User Interfaces:** Created user interfaces for admin login, book listing, book issuance, user profile management, and user authentication.
- **Authentication and Authorization:** Implemented robust user registration, login, and password management functionalities, ensuring secure access to the system.

**What's Next for BooKAH**
- **Advanced Features:** Some advanced features such as detailed reporting, email notifications, and integration with external APIs for book information retrieval are still under development.
- **Testing and Optimization:** Full testing and optimization for performance and security are ongoing processes.

## Project Updates

### Changes Made
1. **Enhanced Security Features:** Integrated HTTPS and implemented additional input validation.
- **Reason:** To ensure user data privacy and protect against potential security threats.
2. **UI/UX Improvements:** Made iterative updates to the user interface based on usability testing and feedback.
- **Reason:** To enhance user experience and ensure the system is intuitive and easy to navigate.
3. **Code Optimization:** Refactored code for better performance and maintainability.
- **Reason:** To ensure the system runs efficiently and is easier to manage and scale in the future.

## Future Work
- Complete advanced features such as detailed reporting, email notifications, and external API integration.
- Conduct comprehensive testing and optimization for performance and security.
- Gather user feedback and make necessary improvements.

## Getting Started

### Prerequisites
- PHP 7.4
- MySQL 5.7
- Web server (e.g., Apache/nginx)
- Browser with JavaScript enabled

### Installation
1. Clone the repository:
```bash
git clone https://github.com/major0001/BooKAH.git
cd BooKAH
```

2. Set up the database:
- Import the `library.sql` script.

3. Configure the web server to serve the application.
- Ensure you install nginx(sites-available) and php7.4-fpm service files
- You can use windows by installing xampp and importing the library script

## Usage
1. Access the application via your web browser.
2. Register as a new user or login as an admin to manage the library system.

## Contributing
1. Fork the repository.
2. Create your feature branch:
```bash
git checkout -b feature/AmazingFeature
```
3. Commit your changes:
```bash
git commit -m 'Add some AmazingFeature'
```
4. Push to the branch:
```bash
git push origin feature/AmazingFeature
```
5. Open a pull request.

## Related Projects
- [Library Management System](https://vinitshahdeo.github.io/Library-Management-System/)

## License
Distributed under the MIT License. See [LICENSE](./LICENSE) for more information.

## Contact Information
- **Author**: Alex Wambua
- **My Twitter/X**: [Alex Wambua](https://x.com/major_blesking)
- **GitHub**: [major0001](https://github.com/major0001)
- **LinkedIn**: [Alex Wambua](https://www.linkedin.com/in/alex-mutune-17b7111a0/)
- **Project URL**: [BooKAH Live](http://realcontrolandpower.tech)
- **Blog Post**: [BooKAH Journey](https://medium.com/@thegreatstory/portfolio-blog-408631acd93c)

## Personal Story and Inspiration
For me, libraries have always been a place of solace and knowledge. Growing up, I spent countless hours in my local library, surrounded by books that fueled my curiosity and imagination. This project is my way of giving back to the community and ensuring that libraries continue to be an integral part of our society.

## Most Difficult Technical Challenge
One of the most challenging aspects of this project was implementing secure user authentication and authorization. Initially, I faced issues with ensuring that user passwords were securely hashed and stored. To address this, I researched and implemented the `password_hash()` and `password_verify()` functions in PHP, which significantly improved the security of the system.

## Learnings and Takeaways
Through this project, I learned the importance of thorough planning and testing. I also gained a deeper understanding of PHP and MySQL, particularly in terms of security best practices. Moving forward, I plan to continue refining my skills and exploring new technologies to enhance my projects.

## Conclusion
The BooKAH project has been a rewarding journey, and I am excited to see it grow and evolve. I look forward to receiving feedback and collaborating with others to make it even better.

## About the Author
Alex Wambua is a passionate software developer with a keen interest in building solutions that impact communities positively. With experience in both frontend and backend development, Alex strives to create applications that are both functional and user-friendly.

- **GitHub**: [major0001](https://github.com/major0001)
- **LinkedIn**: [Alex Wambua](https://www.linkedin.com/in/alex-mutune-17b7111a0/)
- **Project URL**: [BooKAH Live](http://realcontrolandpower.tech)
- **Blog Post**: [BooKAH Journey](https://medium.com/@thegreatstory/portfolio-blog-408631acd93c)