Instalación
Para comenzar con la API de FandomHub, sigue estos pasos para configurar tu entorno de desarrollo y hacer que la aplicación funcione sin problemas.
⚙️ Instalación
Clona el repositorio.
git clone git@github.com:tyronejosee/project_fandomhub_api.git
Crea un entorno virtual (Opcional).
python -m venv env
Activa el entorno virtual (Opcional).
env\Scripts\activate
Instala todas las dependencias.
pip install -r requirements/local.txt
Crea un archivo de variables de entorno .env
.
SECRET_KEY=
EMAIL_BACKEND=
EMAIL_HOST=
EMAIL_HOST_USER=
EMAIL_HOST_PASSWORD=
EMAIL_PORT=
EMAIL_USE_TLS=
Ejecuta Docker.
(env) docker compose -f docker-compose.dev.yml up
(env) docker compose -f docker-compose.dev.yml up --build
(env) docker compose -f docker-compose.dev.yml stop
(env) docker compose -f docker-compose.dev.yml logs -f
(env) docker compose -f docker-compose.dev.yml start
(env) docker compose -f docker-compose.dev.yml restart <service>
Realiza migraciones de base de datos.
(env) docker compose -f docker-compose.dev.yml exec web bash
(env) docker compose -f docker-compose.dev.yml exec web python manage.py makemigrations*
(env) docker compose -f docker-compose.dev.yml exec web python manage.py migrate
(env) docker compose -f docker-compose.dev.yml exec web python manage.py migrate <app_label> <migration_name>
(env) docker compose -f docker-compose.dev.yml exec web python manage.py showmigrations
Nota: Crea las migraciones en caso de que Django omita alguna.
🚀 Uso
Crea un superusuario para acceder a todo el sitio sin restricciones.
(env) docker compose -f docker-compose.dev.yml exec web python manage.py createsuperuser
Inicia sesión en /admin
:
http://127.0.0.1:8000/admin/
Accede a Swagger o Redoc.
http://127.0.0.1:8000/api/schema/swagger/
http://127.0.0.1:8000/api/schema/redoc/
🌍 Internacionalización
Genera archivos de traducción para los idiomas.
(env) django-admin makemessages -l ja --ignore=env/*
(env) django-admin makemessages -l es --ignore=env/*
Usa
--ignore
para excluir directorios específicos de la traducción.
Compila los archivos de traducción después de hacer cambios en las traducciones.
(env) django-admin compilemessages
🚨 Notas Importantes
Verifica la creación de migraciones antes de crearlas.
(env) docker compose -f docker-compose.dev.yml exec web bash
(env) docker compose -f docker-compose.dev.yml exec web python manage.py makemigrations users
(env) docker compose -f docker-compose.dev.yml exec web python manage.py makemigrations
(env) docker compose -f docker-compose.dev.yml exec web python manage.py migrate
Nota: Verificar las migraciones antes de su creación es necesario para evitar inconsistencias en los modelos de usuario.
💾 PostgreSQL
(env) docker compose -f docker-compose.dev.yml exec web python manage.py dumpdata > backup.json
(env) docker compose -f docker-compose.dev.yml exec web python manage.py loaddata
(env) docker compose -f docker-compose.dev.yml exec db psql -U postgres -d fandomhub_db
(fandomhub_db=#) \dt
(fandomhub_db=#) \d <table>
💾 Redis
(env) docker compose exec redis redis-cli
(127.0.0.1:6379) keys *
⚖️ Licencia
Este proyecto está bajo la licencia Apache-2.0.
🌱 Contribuyendo
- Haz un fork del repositorio.
- Crea una nueva rama (
git checkout -b feature/new-feature
). - Realiza un commit de tus cambios (
git commit -am 'Add new feature'
). - Empuja a la rama (
git push origin feature/new-feature
). - Abre un Pull Request.