proyecto-capstone-backend

This repository contains the backend code for the Proyecto Integrador.

https://github.com/gfranciscoerazom/proyecto-capstone-backend

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.0%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

This repository contains the backend code for the Proyecto Integrador.

Basic Info
  • Host: GitHub
  • Owner: gfranciscoerazom
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 287 KB
Statistics
  • Stars: 4
  • Watchers: 1
  • Forks: 1
  • Open Issues: 7
  • Releases: 0
Created over 1 year ago · Last pushed 8 months ago
Metadata Files
Readme Contributing License Code of conduct Citation Security

docs/README.md

Proyecto Integrador

For a AI generated documentation, please visit Ask DeepWiki

Description

This project is a FastAPI-based application that provides user authentication and management functionalities.

Requirements

  • Python 3.11

Installation

  1. Clone the repository:

    sh git clone https://github.com/gfranciscoerazom/proyecto-capstone-backend.git cd proyecto-capstone-backend

  2. Create and activate a virtual environment:

    sh python3.11 -m venv .venv source .venv/bin/activate # On Windows use `.venv\Scripts\activate`

  3. Install the dependencies:

    sh pip install -r requirements.txt

  4. Add the .env file:

    Create a .env file in the root directory with the following content:

    ```properties

    Type of environment: production, development, testing

    ENVIRONMENT=production

    to get a secret key run:

    openssl rand -hex 32

    SECRETKEY="yoursecretkey" ALGORITHM="HS256" ACCESSTOKENEXPIREMINUTES=30

    URL to connect to the database

    DATABASE_URL="sqlite:///data/database.db"

    Email configuration

    Email that will send the emails

    EMAIL_SENDER="user@example.com"

    App password of the email

    EMAILAPPPASSWORD="xxxx xxxx xxxx xxxx"

    Write token of logfire

    LOGSTOKEN="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

    Face recognition configuration

    "VGG-Face", "Facenet", "Facenet512", "OpenFace", "DeepFace", "DeepID", "ArcFace", "Dlib", "SFace", "GhostFaceNet", "Buffalo_L",

    FACERECOGNITIONAI_MODEL=Facenet

    FACERECOGNITIONAI_THRESHOLD=0.5

    ```

Running the Application

  1. Start the FastAPI server:

    sh fastapi dev # In production use fastapi run

  2. Access the application: Open your browser and navigate to http://127.0.0.1:8000/docs.

Running the Application with Docker

  1. Create this file structure:

    sh 📁 . ├── 📁 data │ ├── 📁 events_imgs │ └── 📁 people_imgs └── 🐳 docker-compose.yml

  2. Create the .env file in the root (see the point 4 of the installation section).

  3. Add this YAML code to the docker-compose.yml file:

    ```yaml version: "3.8"

    services: backend: image: gfranciscoerazom/capstone-backend containername: capstone-backend-container ports: - "8000:8000" volumes: - ./data/eventsimgs:/code/data/eventsimgs - ./data/peopleimgs:/code/data/peopleimgs envfile: - .env

    frontend:
        image: gfranciscoerazom/capstone-frontend
        container_name: capstone-frontend-container
        ports:
            - "8080:8080"
    

    ```

  4. Run the following command to start the application:

    sh docker-compose up -d

  5. Access the application: Open your browser and navigate to http://127.0.0.1:8080/home.

Running Tests

  1. Run the tests using pytest:

    sh pytest -n logical

License

This project is licensed under the MIT License. See the LICENSE file for details.

Documentation

The project documentation is available in the wiki tab of the repository.

Owner

  • Login: gfranciscoerazom
  • Kind: user

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: Proyecto CAPSTONE
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Gabriel Francisco
    family-names: Erazo Merino
    email: gabriel.erazo.merino@udla.edu.ec
    affiliation: Universidad de las Américas (UDLA)
    orcid: 'https://orcid.org/0000-0002-7271-4526'
  - given-names: Domenica Cristina
    family-names: Escobar Moyano
    email: domenica.escobar.moyano@udla.edu.ec
    affiliation: Universidad de las Américas (UDLA)
    orcid: 'https://orcid.org/0000-0002-0019-6504'
  - given-names: Edwin Leonardo
    family-names: García Aucatoma
    email: edwin.garcia.aucatoma@udla.edu.ec
    affiliation: Universidad de las Américas (UDLA)
    orcid: 'https://orcid.org/0000-0003-4572-489X'
  - name: Universidad de las Américas
    address: >-
      Redondel del Ciclista, Antigua Vía a Nayón, Quito EC
      170124
    city: Quito
    country: EC
    post-code: '170503'
    alias: UDLA
    email: admision@udla.edu.ec
    tel: +593 2 3981000
    website: 'https://www.udla.edu.ec'
repository-code: >-
  https://github.com/gfranciscoerazom/proyecto-capstone-backend
abstract: >-
  This is the backend for the “Proyecto CAPSTONE” project.
  It provides the API for the project's frontend.
keywords:
  - FastAPI
  - Python
  - SQLModel
  - UDLA
  - CAPSTONE
  - deepface
  - AI
license: MIT

GitHub Events

Total
  • Create event: 3
  • Issues event: 16
  • Watch event: 8
  • Delete event: 2
  • Issue comment event: 37
  • Push event: 109
  • Pull request review comment event: 23
  • Pull request review event: 22
  • Pull request event: 23
  • Gollum event: 1
  • Fork event: 2
Last Year
  • Create event: 3
  • Issues event: 16
  • Watch event: 8
  • Delete event: 2
  • Issue comment event: 37
  • Push event: 109
  • Pull request review comment event: 23
  • Pull request review event: 22
  • Pull request event: 23
  • Gollum event: 1
  • Fork event: 2

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 1
  • Total pull requests: 13
  • Average time to close issues: N/A
  • Average time to close pull requests: 2 days
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 1.15
  • Merged pull requests: 12
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 13
  • Average time to close issues: N/A
  • Average time to close pull requests: 2 days
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 1.15
  • Merged pull requests: 12
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • gfranciscoerazom (12)
Pull Request Authors
  • SkyDragon00 (9)
  • gfranciscoerazom (4)
Top Labels
Issue Labels
enhancement (6) documentation (5) testing (1) bug (1)
Pull Request Labels
documentation (1) enhancement (1)

Dependencies

api/db/setup.py pypi
requirements-linux.txt pypi
  • Faker ==33.1.0
  • Flask ==3.1.0
  • Flask-Cors ==5.0.0
  • Jinja2 ==3.1.4
  • Markdown ==3.7
  • MarkupSafe ==3.0.2
  • PyJWT ==2.10.1
  • PySocks ==1.7.1
  • PyYAML ==6.0.2
  • Pygments ==2.18.0
  • SQLAlchemy ==2.0.36
  • Werkzeug ==3.1.3
  • absl-py ==2.1.0
  • annotated-types ==0.7.0
  • anyio ==4.7.0
  • asttokens ==3.0.0
  • astunparse ==1.6.3
  • bcrypt ==4.2.1
  • beautifulsoup4 ==4.12.3
  • blinker ==1.9.0
  • certifi ==2024.8.30
  • charset-normalizer ==3.4.0
  • click ==8.1.7
  • comm ==0.2.2
  • debugpy ==1.8.11
  • decorator ==5.1.1
  • deepface ==0.0.93
  • dnspython ==2.7.0
  • email_validator ==2.2.0
  • executing ==2.1.0
  • fastapi ==0.115.6
  • fastapi-cli ==0.0.6
  • filelock ==3.16.1
  • fire ==0.7.0
  • flatbuffers ==24.3.25
  • gast ==0.6.0
  • gdown ==5.2.0
  • google-pasta ==0.2.0
  • greenlet ==3.1.1
  • grpcio ==1.68.1
  • gunicorn ==23.0.0
  • h11 ==0.14.0
  • h5py ==3.12.1
  • httpcore ==1.0.7
  • httptools ==0.6.4
  • httpx ==0.28.1
  • idna ==3.10
  • iniconfig ==2.0.0
  • ipykernel ==6.29.5
  • ipython ==8.30.0
  • isort ==5.13.2
  • itsdangerous ==2.2.0
  • jedi ==0.19.2
  • joblib ==1.4.2
  • jupyter_client ==8.6.3
  • jupyter_core ==5.7.2
  • keras ==3.7.0
  • libclang ==18.1.1
  • lz4 ==4.3.3
  • markdown-it-py ==3.0.0
  • matplotlib-inline ==0.1.7
  • mdurl ==0.1.2
  • ml-dtypes ==0.4.1
  • mtcnn ==1.0.0
  • namex ==0.0.8
  • nest-asyncio ==1.6.0
  • numpy ==2.0.2
  • opencv-python ==4.10.0.84
  • opt_einsum ==3.4.0
  • optree ==0.13.1
  • orjson ==3.10.12
  • packaging ==24.2
  • pandas ==2.2.3
  • parso ==0.8.4
  • pexpect ==4.9.0
  • pillow ==11.0.0
  • platformdirs ==4.3.6
  • pluggy ==1.5.0
  • prompt_toolkit ==3.0.48
  • protobuf ==5.29.1
  • psutil ==6.1.0
  • ptyprocess ==0.7.0
  • pure_eval ==0.2.3
  • pydantic ==2.10.3
  • pydantic-extra-types ==2.10.1
  • pydantic-settings ==2.7.0
  • pydantic_core ==2.27.1
  • pytest ==8.3.4
  • python-dateutil ==2.9.0.post0
  • python-dotenv ==1.0.1
  • python-multipart ==0.0.19
  • pytz ==2024.2
  • pyzmq ==26.2.0
  • requests ==2.32.3
  • retina-face ==0.0.17
  • rich ==13.9.4
  • rich-toolkit ==0.12.0
  • setuptools ==75.6.0
  • shellingham ==1.5.4
  • six ==1.17.0
  • sniffio ==1.3.1
  • soupsieve ==2.6
  • sqlmodel ==0.0.22
  • stack-data ==0.6.3
  • starlette ==0.41.3
  • tensorboard ==2.18.0
  • tensorboard-data-server ==0.7.2
  • tensorflow ==2.18.0
  • termcolor ==2.5.0
  • tornado ==6.4.2
  • tqdm ==4.67.1
  • traitlets ==5.14.3
  • typer ==0.15.1
  • typing_extensions ==4.12.2
  • tzdata ==2024.2
  • ujson ==5.10.0
  • urllib3 ==2.2.3
  • uvicorn ==0.33.0
  • uvloop ==0.21.0
  • watchfiles ==1.0.3
  • wcwidth ==0.2.13
  • websockets ==14.1
  • wheel ==0.45.1
  • wrapt ==1.17.0
requirements-windows.txt pypi
  • Faker ==33.1.0
  • Flask ==3.1.0
  • Flask-Cors ==5.0.0
  • Jinja2 ==3.1.4
  • Markdown ==3.7
  • MarkupSafe ==3.0.2
  • PyJWT ==2.10.1
  • PySocks ==1.7.1
  • PyYAML ==6.0.2
  • Pygments ==2.18.0
  • SQLAlchemy ==2.0.36
  • Werkzeug ==3.1.3
  • absl-py ==2.1.0
  • annotated-types ==0.7.0
  • anyio ==4.7.0
  • asttokens ==3.0.0
  • astunparse ==1.6.3
  • bcrypt ==4.2.1
  • beautifulsoup4 ==4.12.3
  • blinker ==1.9.0
  • certifi ==2024.8.30
  • charset-normalizer ==3.4.0
  • click ==8.1.7
  • colorama ==0.4.6
  • comm ==0.2.2
  • debugpy ==1.8.11
  • decorator ==5.1.1
  • deepface ==0.0.93
  • dnspython ==2.7.0
  • email_validator ==2.2.0
  • executing ==2.1.0
  • fastapi ==0.115.6
  • fastapi-cli ==0.0.6
  • filelock ==3.16.1
  • fire ==0.7.0
  • flatbuffers ==24.3.25
  • gast ==0.6.0
  • gdown ==5.2.0
  • google-pasta ==0.2.0
  • greenlet ==3.1.1
  • grpcio ==1.68.1
  • gunicorn ==23.0.0
  • h11 ==0.14.0
  • h5py ==3.12.1
  • httpcore ==1.0.7
  • httptools ==0.6.4
  • httpx ==0.28.1
  • idna ==3.10
  • iniconfig ==2.0.0
  • ipykernel ==6.29.5
  • ipython ==8.30.0
  • isort ==5.13.2
  • itsdangerous ==2.2.0
  • jedi ==0.19.2
  • joblib ==1.4.2
  • jupyter_client ==8.6.3
  • jupyter_core ==5.7.2
  • keras ==3.7.0
  • libclang ==18.1.1
  • lz4 ==4.3.3
  • markdown-it-py ==3.0.0
  • matplotlib-inline ==0.1.7
  • mdurl ==0.1.2
  • ml-dtypes ==0.4.1
  • mtcnn ==1.0.0
  • namex ==0.0.8
  • nest-asyncio ==1.6.0
  • numpy ==2.0.2
  • opencv-python ==4.10.0.84
  • opt_einsum ==3.4.0
  • optree ==0.13.1
  • orjson ==3.10.12
  • packaging ==24.2
  • pandas ==2.2.3
  • parso ==0.8.4
  • pillow ==11.0.0
  • platformdirs ==4.3.6
  • pluggy ==1.5.0
  • prompt_toolkit ==3.0.48
  • protobuf ==5.29.1
  • psutil ==6.1.0
  • pure_eval ==0.2.3
  • pydantic ==2.10.3
  • pydantic-extra-types ==2.10.1
  • pydantic-settings ==2.7.0
  • pydantic_core ==2.27.1
  • pytest ==8.3.4
  • python-dateutil ==2.9.0.post0
  • python-dotenv ==1.0.1
  • python-multipart ==0.0.19
  • pytz ==2024.2
  • pywin32 ==308
  • pyzmq ==26.2.0
  • requests ==2.32.3
  • retina-face ==0.0.17
  • rich ==13.9.4
  • rich-toolkit ==0.12.0
  • shellingham ==1.5.4
  • six ==1.17.0
  • sniffio ==1.3.1
  • soupsieve ==2.6
  • sqlmodel ==0.0.22
  • stack-data ==0.6.3
  • starlette ==0.41.3
  • tensorboard ==2.18.0
  • tensorboard-data-server ==0.7.2
  • tensorflow ==2.18.0
  • tensorflow-io-gcs-filesystem ==0.31.0
  • tensorflow_intel ==2.18.0
  • termcolor ==2.5.0
  • tornado ==6.4.2
  • tqdm ==4.67.1
  • traitlets ==5.14.3
  • typer ==0.15.1
  • typing_extensions ==4.12.2
  • tzdata ==2024.2
  • ujson ==5.10.0
  • urllib3 ==2.2.3
  • uvicorn ==0.33.0
  • watchfiles ==1.0.3
  • wcwidth ==0.2.13
  • websockets ==14.1
  • wrapt ==1.17.0