Skip to content

Latest commit

 

History

History
93 lines (63 loc) · 2.97 KB

File metadata and controls

93 lines (63 loc) · 2.97 KB

KindleVault

Tool that allows users to upload their Kindle highlights, receive daily notifications with selected highlights, and browse through their saved highlights effortlessly. ✨

🚀 Features

  • 📥 Kindle Highlight Upload: Easily import your Kindle highlights from HTML files. Highlight Upload

  • 📚 Book and Highlight Viewing: Browse and review your highlights organized by book.

  • 📝 Add Personal Notes: Attach your own thoughts or reflections to each highlight. Highlight View

  • ⏰ Scheduled Email Notifications: Receive daily email digests of your highlights at configured times.
    Email Notifications

✨ Quote

"To read without reflecting is like eating without digesting." — Edmund Burke

Installation

  1. Clone the repository:

    git clone https://github.com/itsfelipe-dev/KindleVault.git
    cd KindleVault
  2. Install Composer dependencies:

    composer install
  3. Copy the .env.example file and configure your environment variables:

    cp .env.example .env
    php artisan key:generate

    Edit the .env file to set up your database connection, email settings, and other environment-specific configurations.

  4. Run database migrations:

    php artisan migrate
  5. Serve the application:

    php artisan serve

    You can then access the application in your browser, usually at http://localhost:8000, and create a new account.

Configuration

Email Notification

SMTP Configuration

Each user must configure their SMTP settings via their profile page (user/profile).

SMTP Settings

Scheduled Email Settings

The scheduling for the daily highlight emails is configured in the app/Console/Kernel.php file. By default, the application is set to send emails twice daily at 9:00 AM and 7:00 PM server time:

$schedule->job(new \App\Jobs\SendDailyHighlightEmail)->twiceDaily(9, 19);
To modify these settings:

To modify the frequency, update the scheduler using any Laravel scheduling methods. Schedule Frequency Options

Queue Worker

This application utilizes Laravel Queues to handle email notifications. To start the queue worker, run the following command:

php artisan queue:work
Scheduling Cron Job
* * * * * php /path/to/your/project/artisan schedule:run >> /dev/null 2>&1
Customizing the Email Content

The email template is located at resources/views/emails/highlight.blade.php.