https://github.com/jimcostdev/fastapi-mongo-template
Esta plantilla está diseñada para trabajar con FastAPI y MongoDB. Proporciona una estructura de carpetas organizada y funcional para acelerar el desarrollo de nuevos proyectos.
https://github.com/jimcostdev/fastapi-mongo-template
fastapi mongodb python
Last synced: 10 months ago
JSON representation
Esta plantilla está diseñada para trabajar con FastAPI y MongoDB. Proporciona una estructura de carpetas organizada y funcional para acelerar el desarrollo de nuevos proyectos.
- Host: GitHub
- URL: https://github.com/jimcostdev/fastapi-mongo-template
- Owner: JimcostDev
- License: mit
- Created: 2024-09-18T14:51:35.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2025-06-11T11:17:25.000Z (about 1 year ago)
- Last Synced: 2025-07-06T22:12:58.884Z (12 months ago)
- Topics: fastapi, mongodb, python
- Language: Python
- Homepage: https://jimcostdev.com
- Size: 31.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# FastAPI + MongoDB Template
Plantilla inicial para proyectos web con FastAPI y MongoDB, pensada para acelerar el desarrollo y servir de referencia.
> [!NOTE]
> Esta plantilla refleja mis preferencias (JimcostDev). No garantiza que cubra todas las mejores prácticas, pero puede ser un excelente punto de partida.
> [!TIP]
> Además, como es un template de GitHub, también puedes utilizarlo haciendo clic en el botón correspondiente para crear un nuevo repositorio basado en esta plantilla.
## 📋 Características
- Estructura de carpetas organizada
- Conexión asíncrona a MongoDB con motor
- Configuración mediante variables de entorno con pydantic-settings
- Hashing de contraseñas con bcrypt (o aiobcrypt)
- Autenticación basada en JWT con python-jose
- Suite de tests con pytest y pytest-asyncio
## Instrucciones de Uso
1. **Clona este repositorio** ejecutando el siguiente comando:
```bash
git clone https://github.com/JimcostDev/fastapi-mongo-template.git
```
2. **Crea y activa tu entorno virtual**:
- Crea un entorno virtual:
```bash
python -m venv venv
```
- Activa el entorno virtual:
- En **Windows**:
```bash
venv\Scripts\activate
```
- En **macOS y Linux**:
```bash
source venv/bin/activate
```
3. **Instala las dependencias requeridas**:
- Instalar todas con `requirements.txt`:
```bash
pip install -r requirements.txt
```
- Instalar dependencias individuales (opcional):
```bash
pip install "fastapi[standard]" motor pymongo pytest pytest-asyncio pydantic-settings aiobcrypt python-jose
```
> [!IMPORTANT]
> **Configura la conexión a MongoDB:**
> Asegúrate de configurar correctamente la conexión a MongoDB en el archivo `core/cofig.env`. Puedes utilizar variables de entorno para las credenciales y la URL de MongoDB. Por ejemplo:
```sh
MONGODB_URI_DEV_LAB_TEST=mongodb+srv://user:password@server/
MONGODB_NAME=db_name
JWT_SECRET_KEY=secreto-muy-secreto
```
4. **Ejecuta el servidor**:
Inicia el servidor en modo de desarrollo o producción:
- Modo **desarrollo**:
```bash
fastapi dev main.py
```
- Modo **producción**:
```bash
fastapi run
```
5. **Actualizar versión de FastAPI** (opcional):
```bash
pip install --upgrade fastapi
```
6. **Documentación** [FastAPI:](https://fastapi.tiangolo.com/#requirements)
> [!TIP]
> !Si te resulta útil este proyecto, apóyalo con una ⭐! Tu apoyo nos motiva a crear más contenido y mejorar los recursos disponibles. ¡Gracias! :octocat: