bams-api's People
bams-api's Issues
CRUD de Usuarios
CREATE
Endpoint = /api/v1/user (post)
La aplicación deberá de tener la capacidad de registrar usuarios con los datos del rol administrador de edificio por defecto
los datos mínimos necesarios son:
- Name (nombre)
- Lastname (apellidos)
- Email (correo electrónico)
- Password (contraseña)
- Role (rol, por defecto admin del edificio)
- Fecha de creación
- Fecha de modificación
Endpoint = /api/v1/user/invite (POST)
La aplicación deberá de tener la capacidad de registrar usuarios con los datos del rol administrador de edificio por defecto
los datos mínimos necesarios son:
- Name (nombre)
- Lastname (apellidos)
- Email (correo electrónico)
- Password (contraseña)
- Role (rol, por defecto admin del edificio)
- Fecha de creación
- Fecha de modificación
READ
Endpoint = /api/v1/user/id
La aplicación deberá poder recuperar solo un usuario con los siguientes datos:
- Name (nombre)
- Lastname (apellidos)
- Email (correo electrónico)
- Role
Endpoint = /api/v1/user/all
La aplicación deberá poder recuperar todos los usuarios con los siguientes datos:
- Name (nombre)
- Lastname (apellidos)
- Email (correo electrónico)
- Role
UPDATE
Endpoint = /api/v1/user/id (PUT o PATCH)
La aplicación podrá actualizar un usuario solamente en los siguientes datos:
- Password
- Teléfono
DELETE
Endpoint = /api/v1/user/id (DELETE)
La aplicación deberá poder eliminar un usuario con las siguientes reglas de negocio
- El usuario No debe tener una propiedad que adeude
- El usuario No debe tener una propiedad asignada
- Solo el usuario dueño de la cuenta puede eliminarse
- El usuario solo se desvinculará de la propiedad y en caso de ser administrador tiene que ser sustituido por otro usuario
Actualización de Propiedad
la aplicación podrá actualizar una propiedad solamente en los siguientes datos:
- Dueño
- Fecha de vencimiento de pago
📆Actualización de fecha de vencimiento de pago
la aplicación podrá actualizar una propiedad solamente en los siguientes datos:
- Fecha de vencimiento de pago
Registro de Aministradores
La aplicación deberá de tener la capacidad de registrar usuarios con los datos del rol administrador de edificio por defecto
los datos mínimos necesarios son:
role (rol, por defecto admin del edificio)
- name (nombre)
- lastname (apellidos)
- email (correo electrónico)
- password (contraseña)
- role (rol, por defecto admin del edificio)
Actualización de Condominio
la aplicación podrá actualizar un condominio solamente en los siguientes datos:
- Nombre
Registro de Tipo de Pago
La aplicación deberá guardar el tipo de pago con el valor
- tipo
Registro de usuarios
La aplicación debe de tener la capacidad de registrar usuarios con los datos generales y el ROL de "titular" por defecto.
Los datos mínimos necesarios son:
- Nombres
- Apellidos
- Fecha de nacimiento
- INE
- Correo electrónico
- Password
Registro de Tipo de Transacción
La aplicación tendrá que guardar registros de el tipo de transacción con el siguiente valor
- Nombre
Actualización de Usuario
La aplicación podrá actualizar un usuario solamente en los siguientes datos:
- Password
- Teléfono
Registro de Propiedad
La aplicación deberá tener la capacidad de registrar una propiedad ( casa o departamento dentro del condominio) con los siguientes Datos
- El ID del condominio
- El número de propiedad
- La fecha de vencimiento del pago de la mensualidad
La propiedad tiene que ser relacionada con un usuario y con un condominio
Actualización - Propiedad - Regla de Negocio #01
Solo el dueño de la propiedad podrá invitar a un nuevo dueño para tomar la posesión de la propiedad (venta de inmueble)
Eliminación - Condominio - Regla de Negocio #01
La aplicación deberá permitir al administrador eliminar el condominio solamente si este no cuenta con propiedades adscritas, en ningún caso el administrador podrá borrar una propiedad.
🛍️Registro de transacciones
🛍️La aplicación deberá guardar registros de las transacciones con la siguiente estructura:
- ID de la transacción
- Cantidad de la transacción
- Descripción
- Tipo de transacción: enlazado a una tabla vinculada con el listado los tipos de transacción
• Tabla tipos de transacción: - ID
- Nombre
- ID de la propiedad
- Fecha de la transacción
- Tipo de pago: enlazado a una tabla vinculada con el listado de tipo de medio de pago
•Tabla tipo de medio de pago - ID
- Tipo
- Estado del pago: enlazado a una tabla vinculada con el listado de estados
•Tabla estado del pago- ID
- Estado
Login
Los usuarios registrados deben poder hacer login.
La respuesta de un login exitoso será un JWT
Actualización - Propiedad - Regla de negocio #02
La invitación de que se genera en una venta de inmueble solamente podrá ser válida si la propiedad no cuenta con adeudos.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.