Este proyecto es una aplicación backend construida con Django, diseñada para gestionar diferentes aspectos del aprendizaje y las metas de un desarrollador backend. La aplicación permite gestionar motivaciones, pasos de aprendizaje y objetivos, incluyendo tareas específicas.
- Python 3.12
- Django
- pip
-
Clona este repositorio:
git clone https://github.com/tuusuario/backend_adopta_un_junior.git cd backend_adopta_un_junior
-
Crea y activa un entorno virtual:
python3.12 -m venv .env source .env/bin/activate
-
Instala las dependencias:
pip install -r requirements.txt
-
Realiza las migraciones de la base de datos:
python manage.py makemigrations python manage.py migrate
-
(Opcional) Crea un superusuario para acceder al panel de administración:
python manage.py createsuperuser
-
Inicia el servidor de desarrollo:
python manage.py runserver
-
Accede a la aplicación en
http://127.0.0.1:8000/
.
La estructura del proyecto es la siguiente:
backend_adopta_un_junior/
├── backend_adopta_un_junior/
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ ├── wsgi.py
│ ├── templates/
│ │ └── _footer_principal.html
├── motivation_app/
│ ├── admin.py
│ ├── models.py
│ ├── views.py
│ ├── urls.py
│ └── templates/
│ └── motivation_list.html
├── learning_path_app/
│ ├── admin.py
│ ├── models.py
│ ├── views.py
│ ├── urls.py
│ └── templates/
│ └── learning_path.html
├── goals_app/
│ ├── admin.py
│ ├── models.py
│ ├── views.py
│ ├── urls.py
│ └── templates/
│ └── goals_list.html
├── home_app/
│ ├── admin.py
│ ├── views.py
│ ├── urls.py
│ └── templates/
│ └── home.html
└── manage.py
Puedes gestionar las motivaciones desde el panel de administración de Django o directamente desde la shell de Django.
python manage.py shell
from motivation_app.models import Motivation
# Añadir una motivación
Motivation.objects.create(
reason="Aprender Django",
description="Me interesa aprender a crear aplicaciones web con Django."
)
La aplicación también te permite registrar pasos en tu camino de aprendizaje.
from learning_path_app.models import LearningStep
LearningStep.objects.create(
title="Entender las bases de datos",
description="Aprender cómo funcionan las bases de datos relacionales."
)
Puedes crear objetivos a largo plazo y asociarles tareas específicas.
from goals_app.models import Goal, Task
goal = Goal.objects.create(
term="Mediano plazo",
description="Convertirme en desarrollador backend junior."
)
Task.objects.create(
goal=goal,
title="Completar el curso de Django",
status="Pending"
)
- reason: CharField - La razón para motivarse.
- description: TextField - Descripción detallada de la motivación.
- title: CharField - El título del paso de aprendizaje.
- description: TextField - Descripción detallada del paso.
- completed: BooleanField - Indica si el paso ha sido completado.
- term: CharField - El plazo del objetivo (Corto, Mediano, Largo).
- description: TextField - Descripción detallada del objetivo.
- title: CharField - El título de la tarea.
- goal: ForeignKey a
Goal
- Relación con el objetivo correspondiente. - status: CharField - Estado de la tarea (Pendiente, En progreso, Completado).
El proyecto incluye un panel de administración de Django.
- Acceso a la interfaz de Django Admin:
http://127.0.0.1:8000/admin/
Pendiente.
Las contribuciones son bienvenidas. Por favor, sigue los siguientes pasos para contribuir al proyecto:
- Haz un fork del proyecto.
- Crea una nueva rama (
git checkout -b feature-nueva-funcionalidad
). - Realiza tus cambios y haz commit (
git commit -am 'Añadir nueva funcionalidad'
). - Envía tus cambios a tu fork (
git push origin feature-nueva-funcionalidad
). - Abre un Pull Request.