Skip to content

Este repositorio contiene el código fuente de la API para un sistema de gestión inmobiliario, diseñado para facilitar la administración y seguimiento de propiedades, clientes y transacciones inmobiliarias.

License

Notifications You must be signed in to change notification settings

CodingFlashOR/api-inmobiliaria

Repository files navigation

API inmobiliaria Bonpland

Note

Este proyecto aun está en desarrollo.

En este repositorio encontrarás el código fuente de la API para la plataforma de gestión de inmobiliaria Bonpland, puedes consultar la documentación completa aquí.

1. Descripción del proyecto

La inmobiliaria opera principalmente a través de sus oficinas físicas y busca aprovechar la tecnología para ampliar su presencia en el mercado digital. La creación de una plataforma en línea no solo mejorará su visibilidad sino también la eficiencia de sus servicios.

1.1. Características de los usuarios

El sistema de gestión de inmuebles contendrá dos tipos de usuarios:

  • Buscador de inmuebles: Estos son los usuarios que están buscando comprar, alquilar o arrendar un inmueble. Son los clientes potenciales para las propiedades listadas en la inmobiliaria.
  • Propietario de inmuebles: Estos son los propietarios de inmuebles que buscan vender, alquilar o arrendar sus propiedades a través de la inmobiliaria. Son los clientes que proporcionan el inventario de propiedades para la inmobiliaria.
  • Administrador: Son los individuos que manejan la plataforma online de la inmobiliaria, pueden ser empleados de la misma que se encargan de administrar la plataforma web y las necesidades de los clientes (buscadores de propiedad o propietarios de propiedad).

1.2. Requerimientos funcionales

  • Registro de un usuarios.
  • Autenticación para usuarios.
  • Actualizar la información de un usuario.
  • Eliminar un usuario.
  • Confirmar número telefónico.
  • Activación de cuenta de usuarios vía correo electrónico.
  • Restablecer contraseña vía correo electrónico.
  • Filtrado para la búsqueda de inmuebles.
  • Guardado de inmuebles para usuarios.
  • Funcionalidades para administradores.

2. Tecnologías

3. Instalación del proyecto

Note

Asegúrese que Python 3.11 y poetry esté instalado en su sistema operativo.

Primero debes seguir las siguientes instrucciones y dependiendo de que manera quieres realizar la instalación seguiras los pasos para instalar el proyecto de manera manual o utilizando Docker.

  • Clonar repositorio: Para clonar este repositorio ejecuta los siguientes comandos.

    git clone https://github.com/CodingFlashOR/api-inmobiliaria.git
    cd api-inmobiliaria
  • Crear y activar entorno virtual: Creares un entorno virtual con el siguiente comando, en este entorno instalaremos todas las dependencias de este proyecto.

    poetry shell
  • Configurar variables de entorno: Crea un archivo con el nombre .env dentro del directorio api_inmobiliaria. En este archivo se definiran todas las variables de entorno de este proyecto. Las variables que se deben configurar son las siguientes.

    # DJANGO
    KEY_DJANGO=<value>
    
    # SMTP settings
    EMAIL_HOST_USER=<tu correo electrónico>
    EMAIL_HOST=smtp.gmail.com
    EMAIL_HOST_PASSWORD=<contraseña de aplicación de tu correo>
    EMAIL_PORT=587
    EMAIL_USE_TLS=true

    El valor de la variable KEY_DJANGO lo puedes obtener ejecutando los siguientes comandos. Primero iniciamos el intérprete de Python.

    python3

    El siguiente comando te va retornar el valor de KEY_DJANGO que deberas copiar en el archivo .env.

    from django.core.management.utils import get_random_secret_key; print(get_random_secret_key()); exit()

    Para el envío de mensajes a través de correo electrónico tienes que tener una contraseña de aplicación que permita al sistema de gestión inmobiliario autenticarse y poder utilizar el servicio de mensajería.

3.1. Instalación manual

  • Paso 1 (instalar dependencias): Para instalar las teconologias y paquetes que usa el proyecto usa el siguiente comando. Asegurate estar en el directotio raíz.

    poetry install
  • Paso 2 (realizar migraciones): Migramos los modelos del proyecto necesarios para el funcionamiento del servidor con el siguiente comando.

    python3 api_inmobiliaria/manage.py migrate --settings=settings.environments.development
  • Paso 3 (iniciar el servidor): Para iniciar el servidor de manera local ejecuta el siguiente comando.

    python3 api_inmobiliaria/manage.py runserver --settings=settings.environments.development

3.2. Instalación con Docker

  • Paso 1 (Construir imagen): para construir la imagen del contenedor de este pryecto debes ejecutar el siguiente comando.

    docker build -t api_inmobiliaria .
  • Paso 2 (Correr imagen): para iniciar el contenedor de este pryecto debes ejecutar el siguiente comando.

    docker run -e ENVIRONMENT=development -p 8000:8000 api_inmobiliaria

De esta manera podrás usar todas las funcionalidades que este proyecto tiene para ofrecer. Es importante que hayas seguido todos los pasos explicados en el orden establecido.

4. Tests

Para correr las pruebas del proyecto debes ejecutar el siguiente comando.

pytest

5. Contributores

Si está interesado en contribuir a este proyecto, consulte nuestra guía CONTRIBUTING para obtener información sobre cómo comenzar. Proporciona pautas sobre cómo configurar su entorno de desarrollo, proponer cambios y más. ¡Esperamos sus contribuciones!

6. Documentación

Título Descripción
Especifcación de requerimientos Este documento detalla los requerimientos funcionales, no funcionales y el comportamiento de las diferentes interfaces del sistema.
Base de datos Este documento proporciona una visión detallada de la estructura de la base de datos utilizada en el proyecto.
Documentación de la API Esta es la documentación para la API del proyecto, que incluye detalles sobre los endpoints disponibles y los datos que se pueden enviar y recibir.

7. Repositorios relacionados

8. Colaboradores

A continuación se presentan a las personas que están aportando al desarrollo de este proyecto.

Nombre Enlaces Roles
Yoana Avaro LinkedIn Diseño UX/UI
Maria Fuentes LinkedIn - GitHub- Behance Diseño UX/UI
Ignacio Nicolas Basilio Buracco GitHub - LinkedIn Frontend
Jose Lozada GitHub Frontend
Carlos Andres Aguirre Ariza GitHub - LinkedIn Backend - Frontend
Gabriela Patiño GitHub - LinkedIn QA
Carolina Pascua GitHub - LinkedIn QA

About

Este repositorio contiene el código fuente de la API para un sistema de gestión inmobiliario, diseñado para facilitar la administración y seguimiento de propiedades, clientes y transacciones inmobiliarias.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published