https://github.com/dotmavriq/teal
The Essential Aggregator Library
https://github.com/dotmavriq/teal
discogs goodreads imdb-webscrapping laravel mobygames steam
Last synced: about 2 months ago
JSON representation
The Essential Aggregator Library
- Host: GitHub
- URL: https://github.com/dotmavriq/teal
- Owner: dotMavriQ
- Created: 2023-06-29T08:59:28.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-26T19:57:49.000Z (7 months ago)
- Last Synced: 2025-03-26T20:30:44.649Z (7 months ago)
- Topics: discogs, goodreads, imdb-webscrapping, laravel, mobygames, steam
- Language: PHP
- Homepage:
- Size: 2.68 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TEAL
TEAL is a Laravel-based application for tracking and managing reading collections. The application provides tools for importing data from Goodreads, organizing books, and tracking reading progress.
## Core Features
- Book collection management with CRUD operations
- Import functionality for Goodreads data
- Custom cover image support
- Reading status tracking
- Clean URL structure with slugs
- Dark-themed UI based on Gruvbox color palette
- Responsive design for desktop and mobile## Technology
- Laravel 10
- Bootstrap 5 with custom theming
- PostgreSQL database
- Eloquent ORM
- Laravel's built-in authentication## Installation
### Prerequisites
1. PHP 8.1+ with required extensions
2. Composer
3. PostgreSQL database server
4. Node.js and npm for frontend assets### Installation Steps
1. Clone the repository
2. Set up PostgreSQL with the provided script:
```bash
# This script will create the required PostgreSQL user and databases
./setup_postgres.sh
```
3. Run the installation script: `./install.sh`
4. Start the server with `php artisan serve`The installation script will:
- Create the necessary .env file
- Connect to PostgreSQL and create the database if it doesn't exist
- Run migrations and seed the database
- Create a storage link for file uploads
- Migrate any existing file-based data to the database### Database Configuration
The default database configuration uses:
- Database: `teal`
- Username: `postgres`
- Password: `postgres`You can change these in your `.env` file after installation.
## Usage
### Importing Books
1. Export your Goodreads library as CSV
2. Convert to JSON format
3. Use the Import Books page to upload the JSON file### Default Login
After installation, you can log in with:
- Email: dotmavriq@dotmavriq.life
- Password: TEALAdmin@2025#Secure## Testing
The application includes comprehensive tests for all features. To run the tests:
```bash
./run_tests.sh
```This will:
1. Create a dedicated PostgreSQL test database (teal_testing)
2. Run all tests against the test database
3. Generate a coverage reportThe test suite includes:
- Unit tests for model methods
- Feature tests for authentication
- Feature tests for book operations
- Tests for data migration from JSON to database## License
This application is licensed under the MIT license.