-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Pedro Perafan
committed
Jul 28, 2024
1 parent
9ed7ed0
commit 838a725
Showing
1 changed file
with
80 additions
and
44 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,66 +1,102 @@ | ||
<p align="center"><a href="https://laravel.com" target="_blank"><img src="https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg" width="400" alt="Laravel Logo"></a></p> | ||
# BinFinder | ||
|
||
<p align="center"> | ||
<a href="https://github.com/laravel/framework/actions"><img src="https://github.com/laravel/framework/workflows/tests/badge.svg" alt="Build Status"></a> | ||
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/dt/laravel/framework" alt="Total Downloads"></a> | ||
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/v/laravel/framework" alt="Latest Stable Version"></a> | ||
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/l/laravel/framework" alt="License"></a> | ||
</p> | ||
A Laravel application for fetching and caching BIN (Bank Identification Number) information using multiple providers. This project implements an adapter pattern to support various BIN lookup services and optimizes queries with caching. | ||
|
||
## About Laravel | ||
## Features | ||
|
||
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as: | ||
- **Multiple BIN Providers**: Supports integration with multiple BIN lookup services. | ||
- **Caching**: Caches BIN information to reduce the number of external API calls. | ||
- **Flexible and Extensible**: Easily add or disable BIN providers. | ||
- **RESTful API**: Expose endpoints for fetching BIN information and managing providers. | ||
- **Database Seeding**: Pre-populates the database with initial provider data. | ||
- **Unit and Feature Tests**: Comprehensive test coverage using Pest. | ||
|
||
- [Simple, fast routing engine](https://laravel.com/docs/routing). | ||
- [Powerful dependency injection container](https://laravel.com/docs/container). | ||
- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage. | ||
- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent). | ||
- Database agnostic [schema migrations](https://laravel.com/docs/migrations). | ||
- [Robust background job processing](https://laravel.com/docs/queues). | ||
- [Real-time event broadcasting](https://laravel.com/docs/broadcasting). | ||
## Installation | ||
|
||
Laravel is accessible, powerful, and provides tools required for large, robust applications. | ||
1. **Clone the repository**: | ||
```bash | ||
git clone https://github.com/Perafan18/bin-finder.git | ||
``` | ||
|
||
## Learning Laravel | ||
2. **Navigate to the project directory**: | ||
```bash | ||
cd bin-finder | ||
``` | ||
|
||
Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework. | ||
3. **Install dependencies**: | ||
```bash | ||
./vendor/bin/sail up -d | ||
./vendor/bin/sail composer install | ||
``` | ||
|
||
You may also try the [Laravel Bootcamp](https://bootcamp.laravel.com), where you will be guided through building a modern Laravel application from scratch. | ||
4. **Copy the example environment file and set up your environment variables**: | ||
```bash | ||
cp .env.example .env | ||
``` | ||
|
||
If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains thousands of video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library. | ||
5. **Generate an application key**: | ||
```bash | ||
./vendor/bin/sail artisan key:generate | ||
``` | ||
|
||
## Laravel Sponsors | ||
6. **Run the database migrations and seeders**: | ||
```bash | ||
./vendor/bin/sail artisan migrate --seed | ||
``` | ||
|
||
We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the [Laravel Partners program](https://partners.laravel.com). | ||
## Configuration | ||
|
||
### Premium Partners | ||
Add your BIN lookup service API keys to the `.env` file: | ||
|
||
- **[Vehikl](https://vehikl.com/)** | ||
- **[Tighten Co.](https://tighten.co)** | ||
- **[WebReinvent](https://webreinvent.com/)** | ||
- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)** | ||
- **[64 Robots](https://64robots.com)** | ||
- **[Curotec](https://www.curotec.com/services/technologies/laravel/)** | ||
- **[Cyber-Duck](https://cyber-duck.co.uk)** | ||
- **[DevSquad](https://devsquad.com/hire-laravel-developers)** | ||
- **[Jump24](https://jump24.co.uk)** | ||
- **[Redberry](https://redberry.international/laravel/)** | ||
- **[Active Logic](https://activelogic.com)** | ||
- **[byte5](https://byte5.de)** | ||
- **[OP.GG](https://op.gg)** | ||
```env | ||
BIN_CODES_API_KEY=your_bincodes_api_key | ||
BIN_CHECK_API_KEY=your_bincheck_api_key | ||
GREIP_API_KEY=your_greip_api_key | ||
IINLIST_API_KEY=your_iinlist_api_key | ||
``` | ||
|
||
## Contributing | ||
## Running the Application | ||
Start the Laravel development server: | ||
|
||
```bash | ||
./vendor/bin/sail up | ||
``` | ||
|
||
### Running Tests | ||
Execute the test suite using Pest: | ||
|
||
```bash | ||
./vendor/bin/sail test | ||
``` | ||
|
||
## Code Style and Linting | ||
Run Laravel Pint to ensure code quality and consistency: | ||
|
||
Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions). | ||
```bash | ||
./vendor/bin/sail artisan pint | ||
``` | ||
|
||
## Code of Conduct | ||
## Usage | ||
|
||
The application exposes the following endpoints: | ||
|
||
- `GET /api/bin/{bin}`: Fetch BIN information for the given BIN. | ||
- `GET /api/providers`: List all BIN providers. | ||
- `POST /api/providers/{provider}/toggle`: Enable or disable a BIN provider. | ||
|
||
## Contributing | ||
|
||
In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct). | ||
Contributions are welcome! Please submit issues or pull requests for improvements and bug fixes. | ||
|
||
## Security Vulnerabilities | ||
### Steps to Contribute | ||
|
||
If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed. | ||
1. Fork the repository. | ||
2. Create a new branch (`git checkout -b feature-branch`). | ||
3. Make your changes. | ||
4. Commit your changes (`git commit -m 'Add new feature'`). | ||
5. Push to the branch (`git push origin feature-branch`). | ||
6. Open a pull request. | ||
|
||
## License | ||
|
||
The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT). | ||
This project is open-source and available under the MIT License. |