Library management project with feature such as Security, Authencation, Authorization, CRUD user, book, category,... supporting procedures for borrowing and returning books.
See more features and details about the source code in Library Manage.
This repo is functionality complete — PRs and issues welcome!
Please check the official laravel installation guide for server requirements before you start Laravel 8 Documentation. Necessary settings before starting as PHP >= 7.3, NodeJS, Composer
Alternative installation is possible without local dependencies relying on Docker.
-
Clone the repository
git clone https://github.com/VMDang/LibraryManage.git
-
Switch to the repo folder
cd LibraryManage
-
Install all the dependencies using composer and npm
composer install npm install
-
Copy the example env file and make the required configuration changes in the .env file
cp .env.example .env
Please contact me via Mail to know more about the content in the .env file
-
Generate a new application key
php artisan key:generate
-
Run the database migrations (Set the database connection in .env before migrating)
php artisan migrate
-
Run database seeders
php artisan db:seed
-
Start the local development server
php artisan serve
You can now access the server at http://localhost:8000
Populate the database with seed data with relationships which includes users, roles, permission, books, category,... This can help you to quickly start testing the api or couple a frontend and start using it with ready content.
Run the database seeder and you're done
php artisan db:seed
Note : It's recommended to have a clean database before seeding. You can refresh your migrations at any point to clean the database by running the following command
php artisan migrate:refresh
Docker is not complete, I will be back to update when the project is done
To install with Docker, run following commands:
git clone https://github.com/VMDang/LibraryManage.git
cd LibraryManage
cp .env.example.docker .env
docker run -v $(pwd):/app composer install
cd ./docker
docker-compose up -d
docker-compose exec php php artisan key:generate
docker-compose exec php php artisan migrate
docker-compose exec php php artisan db:seed
docker-compose exec php php artisan serve --host=0.0.0.0
Note: Only the main folders containing important code are mentioned, there are still a few folders that have not been mentioned
app/Models
- Contains all the Eloquent modelsapp/Http/Controllers
- Contains all the controllersapp/Http/Middleware
- Contains the auth middlewareapp/Http/Requests
- Contains all the api form requestsapp/Providers
- Contains all the providersapp/BaseHelper.php
- Contains all the function self-defining to help code Controllerconfig
- Contains all the application configuration filesdatabase/factories
- Contains the model factory for all the modelsdatabase/migrations
- Contains all the database migrationsdatabase/seeds
- Contains the database seederpublic/themes
- Contains source code AdminLTE 3.2public/img
- Contains all the images projectpublic/js
- Contains all the files javascriptresources/views
- Contains all the filw view bladeroutes/auth.php
- Contains route with auth featureroutes/web.php
- Contains all route featurestorage
- Storage all file in heretests
- Contains all the application tests
.env
- Environment variables can be set in this file
Note : You can quickly set the database information and other variables in this file and have the application fully working.
The Laravel framework is open-sourced software licensed under the MIT license.
Initially the project was developed for personal purposes. But then I had a lot more teammates to do the same. It became the project of one of my subjects at HUST
Thanks to the whole team for helping me complete this project. It's an honor to be your leader.
Name | University | Role | Contact |
---|---|---|---|
Vu Minh Dang | HUST | Leader | |
Nguyen Duy Hung | HUST | Member | |
Ngo Viet Bach | HUST | Member | |
Ta Van Hoan | HUST | Member | |
Mac Van Khanh | HUST | Member | |
Nguyen The Thuong | HUST | Member |
Mail : [email protected]