Skip to content

A Laravel application to upload, organize, and receive daily email notifications of your Kindle highlights. Users can easily import HTML exports of their Kindle highlights, view them within the app, and get daily email summaries of their reading progress.

Notifications You must be signed in to change notification settings

itsfelipe-dev/KindleVault

Repository files navigation

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.

About

A Laravel application to upload, organize, and receive daily email notifications of your Kindle highlights. Users can easily import HTML exports of their Kindle highlights, view them within the app, and get daily email summaries of their reading progress.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages