Bluesoft Bank es una aplicación web desarrollada en Laravel 11 para gestionar cuentas bancarias. Permite a los usuarios consultar saldos, ver movimientos recientes, generar extractos mensuales, y obtener reportes en tiempo real sobre transacciones y clientes.
- PHP 8.3 o superior
- Laravel 11
- Composer
- Base de datos (MySQL, PostgreSQL, SQLite, etc.)
Sigue estos pasos para instalar y configurar la aplicación en tu entorno local:
-
Clonar el repositorio
git clone https://github.com/mauriciodulce/bluesoft-bank.git cd bluesoft-bank
-
Instalar dependencias
composer install
-
Configurar el archivo de entorno
Copia el archivo
.env.example
a.env
y edítalo con las configuraciones adecuadas para tu entorno.cp .env.example .env
Asegúrate de configurar los parámetros de la base de datos y otros detalles relevantes.
-
Generar la clave de la aplicación
php artisan key:generate
-
Migrar la base de datos
Ejecuta las migraciones para crear las tablas necesarias en la base de datos.
php artisan migrate
-
Sembrar datos iniciales
Si tienes datos iniciales, puedes sembrarlos con el siguiente comando:
php artisan db:seed
-
Iniciar el servidor
Finalmente, inicia el servidor de desarrollo de Laravel:
php artisan serve
La aplicación estará disponible en
http://localhost:8000
.
Accede a cuentas/consultar
para consultar el saldo de una cuenta específica.
Accede a /cuentas/movimientos
para ver los movimientos más recientes de una cuenta específica.
- Una cuenta no puede tener un saldo negativo.
- El saldo de la cuenta siempre debe ser consistente frente a dos operaciones concurrentes (consignación, retiro).
Bluesoft Bank debe soportar los siguientes requerimientos para sus ahorradores:
- Consultar el saldo de la cuenta
- Consultar los movimientos más recientes
- Generar extractos mensuales
- Una cuenta no puede tener un saldo negativo.
- El saldo de la cuenta siempre debe ser consistente frente a dos operaciones concurrentes (consignación, retiro).
- Listado de clientes con el número de transacciones para un mes específico, organizado descendentemente (primero el cliente con mayor número de transacciones en el mes).
- Clientes que retiran dinero fuera de la ciudad de origen de la cuenta, con el valor total de los retiros realizados superior a $1.000.000.
A continuación se presenta el diagrama de clases que modela el problema:
+-----------------+
| Cliente |
+-----------------+
| - id: int |
| - nombre: string|
| - ciudad: string|
+-----------------+
|
| 1
|
| *
+-----------------+
| Cuenta |
+-----------------+
| - id: int |
| - saldo: float |
| - tipo: string |
| - ciudad: string|
+-----------------+
| +consultarSaldo() |
| +consultarMovimientos() |
| +generarExtractos() |
+-----------------+
|
| 1
|
| *
+-----------------+
| Transaccion |
+-----------------+
| - id: int |
| - tipo: string |
| - valor: float |
| - fecha: Date |
+-----------------+