- Authorization for employees.
- Registration for readers.
- Ability to leave comments for readers
- CRUD for books, categories, users (including API)
- Sending email notification when an employee is added
- Importing books from an Excel file (using queue)
- PHP >= 8.1
- Composer
- Node.js >= v18.15.0
- A relational database (MySQL, PostgreSQL, sqlite.)
- Clone the repository:
git clone https://github.com/qwfpg/library-example.git
- Navigate to the project directory:
cd library-app
- Install dependencies using Composer:
composer install
- Install frontend dependencies and build assets:
npm install
npm run build
- Create an
.env
file based on.env.example
:
cp .env.example .env
- Generate an application key:
php artisan key:generate
- Configure the database connection settings in the
.env
file. Replace the following values with your own:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database_name
DB_USERNAME=your_database_username
DB_PASSWORD=your_database_password
- Configure mail settings
MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=your_google_user_name
MAIL_PASSWORD=your_google_user_app_password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="[email protected]"
- Configure credentials for default admin user
ADMIN_EMAIL='[email protected]'
ADMIN_PASSWORD='password'
- Run the database migrations
php artisan migrate --seed
- Link storage folder
php aritsan storage:link
- Start the development server:
php artisan serve
- To process jobs from the queue, run the queue worker in a separate terminal:
php artisan queue:work