BrewDog Beer Finder is a web application designed for beer enthusiasts to explore and discover a diverse collection of craft beers. The application leverages the BrewDog Punk API to provide detailed information about various beers, including their names, taglines, brewing details, and flavor profiles.
Beer Catalog: Access an extensive catalog of craft beers, each accompanied by a rich set of details, such as alcohol by volume (ABV), International Bitterness Units (IBU), and food pairings.
Search and Filter: Utilise a robust search and filter functionality to find specific beers based on parameters like beer ID, name, or specific characteristics.
User Authentication: Enjoy a personalised experience by creating an account and logging in.
Exception Handling: The app is equipped with robust error handling to gracefully manage exceptions, ensuring a smooth user experience even in case of unexpected issues.
Integration with External APIs: Seamlessly integrate with external APIs, such as the BrewDog Punk API, to fetch real-time data about a vast selection of craft beers.
User-Friendly Interface: Benefit from an intuitive and user-friendly interface designed to enhance the beer exploration experience. The clean layout and straightforward navigation make it easy for users to discover new and exciting brews.
Before you begin, make sure you have the following installed on your machine:
Follow these steps to set up and run the BrewDog Beer Finder application locally:
Clone the Repository:
git clone https://github.com/dom-king/brewdog-beer-finder.git
Install PHP Dependencies:
cd brewdog-beer-finder
composer install
Install JavaScript Dependencies:
npm install
Update Environment Variables:
Create a copy of the .env.example file and save it as .env. Update the .env file with your local database details (DB_DATABASE, DB_USERNAME, DB_PASSWORD).
Run the Application:
php artisan serve
npm run dev
Run Migrations and Seed the Database:
php artisan migrate
php artisan db:seed
Standard PHPUnit Tests:
php artisan test
CodeSniffer:
vendor/bin/phpcs
Lint JavaScript:
npm run lint
Contributions are welcome! If you find any issues or have suggestions for improvements, feel free to open an issue or submit a pull request.