Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
128 commits
Select commit Hold shift + click to select a range
cc6aab6
Primer avance
juancapanegra Oct 15, 2025
ebf7804
Merge pull request #1 from 4GeeksAcademy/develop
juancapanegra Oct 15, 2025
66cc75e
feat:Primera version landing page
omarpaezdev Oct 16, 2025
215b85f
Primer avance
juancapanegra Oct 15, 2025
1d993af
Merge pull request #2 from 4GeeksAcademy/navbar
omarpaezdev Oct 16, 2025
50c9573
Segundo avance: Models
juancapanegra Oct 16, 2025
628ccc0
modified User and MentorProfile model
juancapanegra Oct 17, 2025
f2c5630
feat:primer commit de register, endpoint register
omarpaezdev Oct 17, 2025
b59724f
Diagram: modified User and MentorProfile model
juancapanegra Oct 17, 2025
a1250cb
Add new migration
juancapanegra Oct 17, 2025
b4d1f92
modified User and MentorProfile model
juancapanegra Oct 17, 2025
61b0ccd
feat:primer commit de register, endpoint register
omarpaezdev Oct 17, 2025
61d547e
Merge pull request #3 from 4GeeksAcademy/register
omarpaezdev Oct 17, 2025
150d025
Merge remote changes into develop
juancapanegra Oct 17, 2025
d50415d
nuevos ajustes en registro
omarpaezdev Oct 17, 2025
55cd774
Merge pull request #4 from 4GeeksAcademy/register
omarpaezdev Oct 17, 2025
661dfea
Merge branch 'develop' of https://github.com/4GeeksAcademy/proyecto-f…
dianavrojas Oct 18, 2025
446d8d6
Merge branch 'develop'
juancapanegra Oct 18, 2025
b82a7db
login listo
dianavrojas Oct 18, 2025
98bd214
Merge pull request #5 from 4GeeksAcademy/login
dianavrojas Oct 19, 2025
a30cdec
resuelve conflictos commit
omarpaezdev Oct 19, 2025
5d7f80a
Add Dashboard page to routing
omarpaezdev Oct 19, 2025
9dedd71
Merge branch 'develop' of https://github.com/4GeeksAcademy/proyecto-f…
juancapanegra Oct 19, 2025
a84c870
dashboard segun perfil
omarpaezdev Oct 19, 2025
40bda86
Merge pull request #6 from 4GeeksAcademy/dashboard
omarpaezdev Oct 19, 2025
29d1c49
add endpoints user, mentorProfile, studentProfile
juancapanegra Oct 19, 2025
11c3fdb
Resolved merge conflicts with develop
juancapanegra Oct 19, 2025
f125c19
feat:se resuelven errores
omarpaezdev Oct 20, 2025
459a333
Merge pull request #7 from 4GeeksAcademy/dashboard
omarpaezdev Oct 20, 2025
8a10403
Resolved: Merge conflicts with develop
juancapanegra Oct 20, 2025
ec47097
endpoints Users, MentorProfile,StudentProfile
juancapanegra Oct 20, 2025
60bca8b
Completed CRUD endpoints
juancapanegra Oct 20, 2025
daf3752
Merge pull request #8 from 4GeeksAcademy/Endpoints
juancapanegra Oct 20, 2025
35df429
feat: menu with path
omarpaezdev Oct 20, 2025
f0eaae2
Merge pull request #9 from 4GeeksAcademy/dashboard
omarpaezdev Oct 20, 2025
03c299f
feat: componente para avatar
omarpaezdev Oct 21, 2025
c49fd34
Merge pull request #10 from 4GeeksAcademy/uploadAvatar
omarpaezdev Oct 21, 2025
2886a36
feat: error resuelto
omarpaezdev Oct 21, 2025
925df48
Merge pull request #12 from 4GeeksAcademy/uploadAvatar
omarpaezdev Oct 21, 2025
2c225b5
Merge branch 'develop' of https://github.com/4GeeksAcademy/proyecto-f…
juancapanegra Oct 22, 2025
6a4d27c
Modified models
juancapanegra Oct 22, 2025
ef1b5c9
models modified correctly
juancapanegra Oct 22, 2025
f658b4a
Merge pull request #14 from 4GeeksAcademy/models
juancapanegra Oct 22, 2025
b1ede0e
componentes y perfil del mentor
omarpaezdev Oct 22, 2025
ad79d41
Merge pull request #15 from 4GeeksAcademy/metorprofile
omarpaezdev Oct 22, 2025
829d105
Registro del perfil del mentor
omarpaezdev Oct 24, 2025
b28859c
Merge pull request #16 from 4GeeksAcademy/metorprofile
omarpaezdev Oct 24, 2025
c130d6a
Added: validations, verifications, and filters in MentorProfile.
juancapanegra Oct 24, 2025
ae42a24
Merge pull request #17 from 4GeeksAcademy/Endpoints
juancapanegra Oct 24, 2025
5a7ccb5
feat: se agrega mensajes de confirmacion de registro
omarpaezdev Oct 24, 2025
bea1d68
Merge pull request #18 from 4GeeksAcademy/metorprofile
omarpaezdev Oct 24, 2025
446ba45
feat: seeder. fix: serialize
jseiglie Oct 27, 2025
d73169b
Merge pull request #19 from 4GeeksAcademy/seeder
jseiglie Oct 27, 2025
df26f6a
migration added to gitignore
jseiglie Oct 27, 2025
9b4a00e
Merge pull request #20 from 4GeeksAcademy/seeder
jseiglie Oct 27, 2025
127d6fc
script for seed
jseiglie Oct 27, 2025
3d37abf
Merge pull request #21 from 4GeeksAcademy/seeder
jseiglie Oct 27, 2025
4ac8505
add: Avatar in model StudentProfile
juancapanegra Oct 27, 2025
3aa2727
Merge branch 'develop' of https://github.com/4GeeksAcademy/proyecto-f…
juancapanegra Oct 27, 2025
259c228
Merge pull request #22 from 4GeeksAcademy/models
juancapanegra Oct 27, 2025
6f1292d
feat:add type sesions
omarpaezdev Oct 27, 2025
4e93e5d
Modifico docker-compose.yml
dianavrojas Oct 29, 2025
e35cede
add: Avatar in model StudentProfile
juancapanegra Oct 27, 2025
5e142d4
feat: seeder. fix: serialize
jseiglie Oct 27, 2025
982d488
migration added to gitignore
jseiglie Oct 27, 2025
105b9bd
script for seed
jseiglie Oct 27, 2025
4ce01de
feat: funcionalidad agregar tipos de sesiones
omarpaezdev Oct 29, 2025
ad0d350
Merge branch 'develop' into mentorservices
omarpaezdev Oct 29, 2025
9e78575
Merge pull request #23 from 4GeeksAcademy/mentorservices
omarpaezdev Oct 29, 2025
1397956
Modification model User (serialize)
juancapanegra Oct 31, 2025
716eeb3
feat:buscador de mentor
omarpaezdev Oct 31, 2025
21dbf11
Merge pull request #24 from 4GeeksAcademy/models
juancapanegra Oct 31, 2025
ffa9fb0
Merge branch 'develop' into searchmentor
omarpaezdev Oct 31, 2025
fe93ee9
Merge pull request #25 from 4GeeksAcademy/searchmentor
omarpaezdev Oct 31, 2025
b97f364
feat:add type sesions
omarpaezdev Oct 27, 2025
f8c302a
feat: funcionalidad agregar tipos de sesiones
omarpaezdev Oct 29, 2025
aac7935
feat:buscador de mentor
omarpaezdev Oct 31, 2025
6575905
Modification model User (serialize)
juancapanegra Oct 31, 2025
2b28965
correcciones
dianavrojas Oct 31, 2025
89de7c0
feat: se resuelve error en avatar
omarpaezdev Nov 1, 2025
6243ba3
Merge pull request #26 from 4GeeksAcademy/searchmentor
omarpaezdev Nov 1, 2025
210d9b9
Merge branch 'develop' of https://github.com/4GeeksAcademy/proyecto-f…
dianavrojas Nov 3, 2025
efb0657
student profile
dianavrojas Nov 3, 2025
94be8d9
Merge pull request #27 from 4GeeksAcademy/studentprofile
dianavrojas Nov 3, 2025
81d8e6c
buscador, tarjetas, vista mentor
omarpaezdev Nov 3, 2025
ba90f2a
feat: se agrega tabs en vista del perfil mentor
omarpaezdev Nov 5, 2025
2ea9049
Merge pull request #28 from 4GeeksAcademy/searchmentor
omarpaezdev Nov 5, 2025
f0be6e5
updated
juancapanegra Nov 5, 2025
f400f35
recuperar contraseña
dianavrojas Nov 5, 2025
9688940
Merge pull request #29 from 4GeeksAcademy/login
dianavrojas Nov 5, 2025
c997fc9
Guardando cambios antes de pull
juancapanegra Nov 5, 2025
463c432
Merge branch 'develop' of https://github.com/4GeeksAcademy/proyecto-f…
juancapanegra Nov 5, 2025
4c520df
Merge pull request #30 from 4GeeksAcademy/Endpoints
juancapanegra Nov 5, 2025
7fc7072
update: calendly
juancapanegra Nov 5, 2025
8f77451
Update: calendly only
juancapanegra Nov 5, 2025
abfd3a9
Merge pull request #31 from 4GeeksAcademy/Endpoints
juancapanegra Nov 5, 2025
d97db16
update userService-
juancapanegra Nov 5, 2025
cc91da6
Merge pull request #32 from 4GeeksAcademy/Endpoints
juancapanegra Nov 5, 2025
988faac
add password recovery
juancapanegra Nov 6, 2025
a01c199
update routes.py [reset password]
juancapanegra Nov 6, 2025
99fe940
Add 'reset password' corrected
juancapanegra Nov 9, 2025
9e67d2d
Merge pull request #33 from 4GeeksAcademy/Endpoints
juancapanegra Nov 9, 2025
b1b97c9
WIP: changes for ResetPassword in userServices.jsx
juancapanegra Nov 9, 2025
98d96df
Email request for password reset
juancapanegra Nov 9, 2025
4fd6783
Create and confirm your new password
juancapanegra Nov 9, 2025
03a920d
Merge pull request #34 from 4GeeksAcademy/ResetPassword
juancapanegra Nov 9, 2025
4801fb9
Merge branch 'develop' of https://github.com/4GeeksAcademy/proyecto-f…
juancapanegra Nov 9, 2025
90935a5
PasswordReset functions added to userServices
juancapanegra Nov 9, 2025
b626fcb
Merge pull request #35 from 4GeeksAcademy/Endpoints
juancapanegra Nov 9, 2025
f5306e8
Added: Page request password reset
juancapanegra Nov 9, 2025
6c07151
Added: Page password reset
juancapanegra Nov 9, 2025
dd0ceec
Added: Page request password reset
juancapanegra Nov 9, 2025
86e6295
Merge pull request #36 from 4GeeksAcademy/ResetPassword
juancapanegra Nov 9, 2025
1d2a755
add: funcionalidades de calendly
omarpaezdev Nov 9, 2025
edd11ed
Merge pull request #37 from 4GeeksAcademy/calendly
omarpaezdev Nov 9, 2025
5d6f9e9
feat: se agrega funcion valid_calendly_token para refresh el token
omarpaezdev Nov 9, 2025
0460ecb
Merge pull request #38 from 4GeeksAcademy/calendly
omarpaezdev Nov 9, 2025
6c2ea9f
navbar corregido y landing page
dianavrojas Nov 10, 2025
8a8d6e4
Resuelto conflicto con develop
dianavrojas Nov 10, 2025
d40785c
Merge pull request #39 from 4GeeksAcademy/navbar
dianavrojas Nov 10, 2025
7f1c435
feat: gestionar sessiones
omarpaezdev Nov 10, 2025
abb369f
feat: gestionar sessiones
omarpaezdev Nov 10, 2025
6531721
Revert "feat: gestionar sessiones"
omarpaezdev Nov 10, 2025
9a25709
se corrige error en css
omarpaezdev Nov 10, 2025
093bd33
Merge pull request #40 from 4GeeksAcademy/calendly
omarpaezdev Nov 10, 2025
e1363b8
Fixed: routes.jsx (reset password)
juancapanegra Nov 10, 2025
035ecdb
Merge pull request #41 from 4GeeksAcademy/Endpoints
juancapanegra Nov 10, 2025
2865c2f
Modification: models.py, string length for mentor and student
juancapanegra Nov 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .devcontainer/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ services:
# (Adding the "ports" property to this file will not forward from a Codespace.)

db:
image: postgres:latest
image: postgres:16
restart: unless-stopped
volumes:
- postgres-data:/var/lib/postgresql/data
Expand All @@ -32,4 +32,4 @@ services:
# (Adding the "ports" property to this file will not forward from a Codespace.)

volumes:
postgres-data:
postgres-data:
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -80,3 +80,4 @@ database.database
database.db
diagram.png
__pycache__/
migrations/
Empty file added Endpoints
Empty file.
11 changes: 9 additions & 2 deletions Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,23 @@ python-dotenv = "*"
flask-cors = "*"
gunicorn = "*"
cloudinary = "*"
flask-admin = "*"
typing-extensions = "*"
flask-jwt-extended = "==4.6.0"
wtforms = "==3.1.2"
sqlalchemy = "*"
sqlalchemy-schemadisplay = "*"
pydot = "*"
flask-admin = "*"
wtforms = "<3.0"
requests = "*"
flask-mail = "*"

[requires]
python_version = "3.13"

[scripts]
calendly ="python src/setup_calendly.py"
seed = "python src/seeder.py"
diagram = "python generate_diagram.py"
start="flask run -p 3001 -h 0.0.0.0"
init="flask db init"
migrate="flask db migrate"
Expand Down
1,027 changes: 665 additions & 362 deletions Pipfile.lock

Large diffs are not rendered by default.

Binary file added database_diagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
56 changes: 56 additions & 0 deletions generate_diagram.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
from sqlalchemy_schemadisplay import create_schema_graph
import os
import sys

# Agregar el directorio src al path
sys.path.insert(0, os.path.join(os.getcwd(), 'src'))

# Importar desde la ubicación correcta
from api.models import db

# Importa tu aplicación Flask
try:
from app import app
except ImportError:
try:
from wsgi import app
except ImportError:
try:
from main import app
except ImportError:
print("Error: No se pudo encontrar la aplicación Flask")
print("Asegúrate de tener un archivo app.py, wsgi.py o main.py en /src")
sys.exit(1)

def generate_diagram():
"""Genera un diagrama ER de la base de datos"""

print("Generando diagrama de la base de datos...")

with app.app_context():
# Crear el gráfico del esquema
graph = create_schema_graph(
engine=db.engine, # Motor de la base de datos
metadata=db.metadata,
show_datatypes=True, # Mostrar tipos de datos
show_indexes=True, # Mostrar índices
rankdir='LR', # Orientación: LR (izq-der) o TB (arriba-abajo)
concentrate=False # Simplificar líneas
)

# Guardar como PNG
output_file = 'database_diagram.png'
graph.write_png(output_file)

# Obtener ruta absoluta
abs_path = os.path.abspath(output_file)

print(f"✓ Diagrama generado exitosamente!")
print(f"📁 Ubicación: {abs_path}")

# Información adicional
tables = list(db.metadata.tables.keys())
print(f"📊 Tablas incluidas ({len(tables)}): {', '.join(tables)}")

if __name__ == '__main__':
generate_diagram()
39 changes: 26 additions & 13 deletions index.html
Original file line number Diff line number Diff line change
@@ -1,16 +1,29 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="icon" href="/4geeks.ico" />
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css" integrity="sha512-SnH5WK+bZxgPHs44uWIX+LLJAJ9/2PkPKZ5QiAj6Ta86w+fsb2TkcmfRyVX3pBnMFcV7oQPJkl9QevSCWr3W6A==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Hello Rigo</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/front/main.jsx"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL" crossorigin="anonymous"></script>
</body>

<head>
<meta charset="UTF-8" />
<link rel="icon" type="icon" href="/src/front/assets/img/mentor.ico" />
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css"
integrity="sha512-SnH5WK+bZxgPHs44uWIX+LLJAJ9/2PkPKZ5QiAj6Ta86w+fsb2TkcmfRyVX3pBnMFcV7oQPJkl9QevSCWr3W6A=="
crossorigin="anonymous" referrerpolicy="no-referrer" />
<link href="https://assets.calendly.com/assets/external/widget.css" rel="stylesheet" />
<link
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@400;500;600;700&display=swap"
rel="stylesheet">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>MentorMatch</title>
</head>

<body>
<div id="root"></div>
<script type="module" src="/src/front/main.jsx"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"
integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL"
crossorigin="anonymous"></script>
<script type="text/javascript" src="https://assets.calendly.com/assets/external/widget.js" async></script>
</body>

</html>
35 changes: 0 additions & 35 deletions migrations/versions/0763d677d453_.py

This file was deleted.

Loading