FARM Stack CRUD
FastAPI, React, and MongoDB are three popular technologies that can be used to create a full-stack web application. This article will provide an overview of how to set up a CRUD (Create, Read, Update, Delete) application using the FARM stack.
FastAPI
FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.7+ based on standard Python features such as type hints. It is easy to use and has very good performance. It is a great choice for building APIs for CRUD applications.
React
React is a JavaScript library for building user interfaces. It is maintained by Facebook and a community of individual developers and companies. React can be used to create single-page web applications and is a good choice for building the frontend of a CRUD application.
MongoDB
MongoDB is a popular open-source, document-oriented database. It stores data in flexible, JSON-like documents, meaning fields can vary from document to document and data structure can be changed over time. MongoDB is a great choice for storing the data of a CRUD application.
Full Stack Web Application
By combining FastAPI for the backend, React for the frontend, and MongoDB for the database, developers can build a powerful full-stack web application that allows users to create, read, update, and delete data. This FARM stack provides a modern and efficient way to develop web applications.
Setting up the FARM Stack
To set up a CRUD application using the FARM stack, developers can follow the steps below:
- Set up FastAPI backend to provide the API endpoints for CRUD operations
- Create a React frontend to interact with the backend API and render the user interface
- Set up MongoDB to store the data for the application
- Implement the CRUD functionality in the backend and frontend
Conclusion
The FARM stack, consisting of FastAPI, React, and MongoDB, is a powerful combination for building full-stack web applications with CRUD functionality. By utilizing these technologies, developers can create efficient and modern web applications that provide a great user experience.
Este es el video extra para los miembros en donde muestro como desplegar todo el proyecto en Railway:
https://youtu.be/MX1B74ciXLk
puedes hacer esto mismo con sql me gustaria mucho que lo hicieras.
Hola @Fazt Code me acabo de enteral de que en vercel se puede desplegar aplicaciones de python, puede hacer un pequeño tutorial de como subir una aplicacion de fastApi a vercel XD me interesa usar vercel
fazt te consulto, tu utilizas mucho este stack en tu dia a dia? o recomendarias otro stack a la hora de desarrollar, lo digo porque python ultimamente esta descontrolandose en cierto sentido, ahora con flet, reflex y demas, creo que python se esta volviendo cada dia mas potente a la hora de desarrollar cosas mas eficientemente desde mi punto de vista, puede que este equivocado, por eso te pregunto cual seria tu punto de vista con respecto a esto, muchas gracias !.
Hola, buenas tardes, tengo un problema al cambiar el id del modelo por el optional PyObjectId, le doy mil vueltas y reviso todo pero me tira error 422..si alguién me ayuda…dice como que el Id es requerido….
ayuda me sale error en el id : minuto 36 a 40
Ironicamente resolví el problema de que el ObjectID no fuera iterable convirtiendo el id del documento en string XD
muy buen tutorial, un saludo desde Mallorca
Wonderful,I like Farm Stack, Please create more complicated projects.
Estoy utilizando FastAPI y pydantic 1.10, y al intentar documentar en Swagger UI un id que es de tipo ObjectID, me arroja un error.
from typing import Optional
from pydantic import BaseModel, Field, EmailStr
from bson import ObjectId
# Clase PyObjectId #
class PyObjectId(ObjectId):
@classmethod
def __get_validators__(cls):
yield cls.validate
@classmethod
def validate(cls, v):
if not ObjectId.is_valid(v):
raise ValueError('Invalid ObjectId')
return str(v)
# Configuraciones Clase PyObjectId #
class Config:
orm_mode = True
allow_population_by_field_name = True
json_encoders = { ObjectId: str }
class UserBase(BaseModel):
id: Optional[PyObjectId] = Field(alias='_id')
Me arroja el siguiente error al acceder a http://localhost:8000/docs:
ValueError: Value not declarable with JSON Schema, field: name='id' type=Optional[PyObjectId] required=False default=None alias='_id
disculpa fazt que version de pydantic estas utilizando porque en la configuracion que sugeriste parece que esos nombres fueron modificados y el json_encoders fue eliminado
me sale este error en la instalación de fastapi
ERROR: Failed building wheel for pydantic-core
Failed to build pydantic-core
ERROR: Could not build wheels for pydantic-core, which is required to install pyproject.toml-based projects
que sera¡¡¡¡???
Hola fazt cómo estás? Antes que nada exelente video! Quería consultarte si tenés en carpeta armar un vídeo sobre estadísticas y análisis de nuestra web, por ejemplo con Google analytics. Estaría bueno verlo en un blog o algo similar como para monitorear que post es el más visitado por ejemplo
para cuando un video sobre la creación de una red socia?
lo que se puede hacer en un rato sabiendo como programar en js, lo haces extenso e irrelevante, para crear contenido.
Tus tutoriales son my bueno para tener un primera impresion de alguna tech. De verdad te felicito ya que yo tuve mis primeros entendimientos de code con tus turoriales pero tengo una observacion: tu turoriales son muy basico debes ya pasar al proximo nivel impementando algunas cositas como patrones de diseño validaciones robustas tanto en el frontend como en el backend, clean code practic y implementacion de orm y unas cuantas cositas mas. Pero bueno se que tu tutos son para el nivel principiante en el mundo del codigo. Gracias por tus grandes aporte a la comunidad.
Muy muy muy buen video. Solo le agregaría como autenticar la API para darle seguridad.
Hola, podrás hacer un tutorial de cómo realizar kanban cono el video de drag and drop
Tio fazt, por ti me veo todas las publicidades, saludos desde Bolivia
No usaste REACTPY aqui? muy nuevo todavia ?