Projects API 

FEATURES

  • JWT Authentication

    The API endpoints require user authentication. This authentication is performed by verifying the tokens generated during user login.

  • Password encryption

    Passwords will have a hashed version to ensure greater security of the user's account data.

  • CRUD

    La API provides endpoints for listing, creating, updating, and deleting records from the database tables.

  • Documentation

    The API documentation is made using Swagger, Redoc, and Rapidoc.

TECHNOLOGIES

  • Python (Source)

    Version: 3.11.2

    Python is a clear and powerful object-oriented programming language, comparable to Perl, Ruby, Scheme, or Java.

  • Flask (Source)

    Version: 2.3.2

    Flask is a micro web framework written in Python. It is designed to be lightweight, flexible, and easy to use, making it a popular choice for building web applications and APIs. Flask provides tools and libraries for routing requests, handling HTTP requests and responses, rendering templates, and working with databases, among other features. It is known for its simplicity and ease of use, and has a large and active community of developers creating plugins and extensions to enhance its capabilities.

  • Flask-SQLAlchemy (Source)

    Version: 3.0.3

    Flask-SQLAlchemy is an extension for Flask that adds support for SQLAlchemy to your application. It simplifies using SQLAlchemy with Flask by setting up common objects and patterns for using those objects, such as a session tied to each web request, models, and engines.

  • Flask-Cors (Source)

    Version: 3.0.10

    Flask-CORS is a Flask extension that simplifies the process of handling Cross-Origin Resource Sharing (CORS) in Flask applications. CORS is a security mechanism implemented by web browsers to restrict cross-origin HTTP requests that are initiated from scripts running in a web page. It prevents scripts on one origin from accessing resources from another origin unless the server explicitly allows it.

  • Flask-Marshmallow (Source)

    Version: 0.15.0

    Flask-Marshmallow is an extension for the Flask web framework that integrates Marshmallow, a popular library for object serialization and deserialization in Python. Marshmallow provides a simple and flexible way to convert complex data types, such as objects or database models, into JSON, XML, or other formats, and vice versa.

  • Flask-Smorest (Source)

    Version: 0.42.0

    Flask-Smorest is an extension for the Flask web framework that simplifies the process of building RESTful APIs. It provides additional functionality and abstractions to enhance the development experience and make it easier to define and document your API endpoints.

  • Python-dotenv (Source)

    Version: 1.0.0

    python-dotenv is a Python library that helps manage application configurations and environment variables. It allows developers to define environment variables in a .env file, which is loaded by the library into the application's environment when it starts up. This can be useful for storing sensitive information such as API keys, database credentials, and other configuration variables that should not be hard-coded in the application's code. python-dotenv makes it easy to manage multiple environments, such as development, staging, and production, by allowing developers to define different sets of variables for each environment. It is widely used in Python web development and is compatible with popular web frameworks such as Flask and Django.

  • PyJWT (Source)

    Version: 2.7.0

    PyJWT is a Python library that provides support for JSON Web Tokens (JWT). JWT is an open standard for securely transmitting information between parties as a JSON object. It consists of three parts: a header, a payload, and a signature.

  • BCRYPT (Source)

    Version: 4.0.1

    It is a password-hashing function designed to be slow and computationally expensive, making it resistant to brute-force attacks. It is widely used for securely storing passwords in databases and verifying user passwords during authentication.