Full-Stack academic project developed for the Web Development course at PUCPR.
This repository contains a complete web application for managing a digital library. It implements a secure Authentication System and allows users to manage (CRUD) books and authors. The backend is built with PHP connecting to a MySQL database.
- Backend: PHP 8.x (Native)
- Database: MySQL / MariaDB
- Frontend: HTML5, CSS3, Bootstrap 5.3
- Architecture: MVC-like structure (Processors, Views, Assets).
- SQL Injection Protection: Uses
mysqliPrepared Statements for all database queries. - Password Hashing: User passwords are encrypted using
password_hash()(Bcrypt). - Session Management: Protected routes checking active sessions (
$_SESSION).
- User System: Login, Registration, and Logout.
- Dashboard: Overview of the library collection.
- Authors Management: Add, Edit, List, and Delete authors.
- Books Management: Complete CRUD for books, linked to authors via Foreign Keys.
Since this project uses PHP, it requires a local server like XAMPP, WAMP, or Docker.
- Clone the repo into your server's public folder (e.g.,
htdocsin XAMPP). - Database Setup:
- Open phpMyAdmin (usually
http://localhost/phpmyadmin). - Create a database named
Biblioteca. - Import the file
SQL/tabelas_biblioteca.sqllocated in this repo.
- Open phpMyAdmin (usually
- Configuration:
- Check
conexao.phpto ensure the database credentials match your local setup.
- Check
- Access:
- Open your browser and go to
http://localhost/Digital-Library-Manager/.
- Open your browser and go to
Developed by Matheus Ramon - 2025