Skip to content

Commit

Permalink
Readme with setup
Browse files Browse the repository at this point in the history
  • Loading branch information
Pedro Perafan committed Jul 28, 2024
1 parent 9ed7ed0 commit 838a725
Showing 1 changed file with 80 additions and 44 deletions.
124 changes: 80 additions & 44 deletions README.md
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.

0 comments on commit 838a725

Please sign in to comment.