Skip to content

Commit 3e755fb

Browse files
authored
Merge pull request #117 from codeurjc-students/docs-phase3-documentation
Docs phase3 documentation
2 parents 0a3f7e6 + 95953d1 commit 3e755fb

31 files changed

+294
-41
lines changed

DocFiles/images/phase3/dashboard1.png

691 KB
Loading

DocFiles/images/phase3/dashboard2.png

544 KB
Loading

DocFiles/images/phase3/dashboard3.png

134 KB
Loading

DocFiles/images/phase3/dashboard4.png

238 KB
Loading

DocFiles/images/phase3/dashboard5.png

257 KB
Loading

DocFiles/images/phase3/dashboard6.png

245 KB
Loading

DocFiles/images/phase3/dashboard7.png

204 KB
Loading

DocFiles/images/phase3/dbdiagram.png

262 KB
Loading

DocFiles/images/phase3/fav1.png

1.54 MB
Loading

DocFiles/images/phase3/fav2.png

1020 KB
Loading

DocFiles/images/phase3/final.drawio.svg

+4
Loading
194 KB
Loading

DocFiles/images/phase3/pass1.png

472 KB
Loading

DocFiles/images/phase3/pass2.png

653 KB
Loading

DocFiles/images/phase3/pass3.png

150 KB
Loading

DocFiles/images/phase3/pass4.png

53.9 KB
Loading

DocFiles/images/phase3/pass5.png

673 KB
Loading

DocFiles/images/phase3/share1.png

954 KB
Loading

DocFiles/images/phase3/share2.png

963 KB
Loading

DocFiles/images/phase3/share3.png

425 KB
Loading

DocFiles/images/phase3/share4.png

89.1 KB
Loading
654 KB
Loading

DocFiles/images/phase3/websocket1.png

180 KB
Loading

DocFiles/images/phase3/websocket2.png

255 KB
Loading

DocFiles/images/phase3/wireframe.png

530 KB
Loading

LogArtApp/docker/Dockerfile

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
FROM node:20-alpine AS frontend-build
22
WORKDIR /app/frontend
3-
COPY LogArtApp/frontend/LogArt-frontend/package*.json ./
3+
COPY frontend/LogArt-frontend/package*.json ./
44
RUN npm install --legacy-peer-deps
5-
COPY LogArtApp/frontend/LogArt-frontend/ ./
5+
COPY frontend/LogArt-frontend/ ./
66
RUN npm run build
77

88
FROM node:20-alpine AS backend-build
99
WORKDIR /app/backend
1010
RUN apk add --no-cache make gcc g++ python3
11-
COPY LogArtApp/backend/package*.json ./
11+
COPY backend/package*.json ./
1212
RUN npm install --legacy-peer-deps
13-
COPY LogArtApp/backend/ ./
13+
COPY backend/ ./
1414
RUN npm rebuild bcrypt --build-from-source
1515
RUN npm prune --production
1616
RUN npm cache clean --force

LogArtApp/docker/docker-compose.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ services:
2828
- "27017:27017"
2929
restart: unless-stopped
3030
app:
31-
image: davidmorenoo/logartapp:latest17
31+
image: davidmorenoo/logartapp:latestManual
3232
ports:
3333
- "8443:8443"
3434
healthcheck:

docs/design.md

+147-21
Original file line numberDiff line numberDiff line change
@@ -121,122 +121,248 @@ Si en cualquier momento intentamos acceder a una URL no encontrada, nos mostrar
121121

122122
## Diseño Final:
123123

124-
### Pantalla Hero (home)
124+
## Pantalla Hero (home)
125125

126126
Pantalla principal de la aplicación para usuarios no logueados
127127

128128
![Imagen de hero1](/DocFiles/images/phase2/hero1home.png)
129129

130-
### Pantalla Hero (FAQ)
130+
## Pantalla Hero (FAQ)
131131

132132
Si bajamos, nos encontramos con la sección de preguntas comunes
133133

134134
![Imagen de faq](/DocFiles/images/phase2/hero2faq.png)
135135

136-
### Pantalla Hero (carrusel)
136+
## Pantalla Hero (carrusel)
137137

138138
Más abajo tenemos un carrusel infinito de imágenes en formato disco de vinilo
139139

140140
![Imagen de carrusel](/DocFiles/images/phase2/hero3infcarousel.png)
141141

142-
### Pantalla Hero (slider)
142+
## Pantalla Hero (slider)
143143

144144
Por último tenemos un slider de imágenes que representan las disciplinas de la app
145145

146146
![Imagen de slider](/DocFiles/images/phase2/hero4imgslider.png)
147147

148-
### Pantalla de Registro
148+
## Pantalla de Registro
149149

150150
Si en cualquier momento durante el hero clicamos en "Registrarse" llegaremos a esta pantalla
151151

152152
![Imagen de registro](/DocFiles/images/phase2/register.png)
153153

154-
### Pantalla de Login
154+
## Pantalla de Login
155155

156156
Si en cualquier momento clicamos en iniciar sesión, o nos registramos, llegaremos a esta pantalla
157157

158158
![Imagen de login](/DocFiles/images/phase2/login.png)
159159

160-
### Pantalla de Galería
160+
## Pantalla de Galería
161161

162162
Después de iniciar sesión llegaremos a esta pantalla, donde podremos interactuar con los objetos y crear nuevos
163163

164164
![Imagen de galería 1](/DocFiles/images/phase2/gallery1.png)
165165

166-
### Pantalla de Galería (continuación)
166+
## Pantalla de Galería (continuación)
167167

168168
En la parte de arriba podemos ver una opción para filtrar por nombre, y abajo la paginación
169169

170170
![Imagen de galería 2](/DocFiles/images/phase2/gallery2.png)
171171

172-
### Pantalla de selector de disciplina
172+
## Pantalla de selector de disciplina
173173

174174
Si clicamos en el nombre de la disciplina actual, se abre el selector
175175

176176
![Imagen de selector de disciplina](/DocFiles/images/phase2/disciplineSelector.png)
177177

178-
### Pantalla de Crear objeto
178+
## Pantalla de Crear objeto
179179

180180
Si clicamos en el botón de crear objeto, nos saldrá el modal de creación, donde introducir los datos
181181

182182
![Imagen de crearObjeto](/DocFiles/images/phase2/createObject.png)
183183

184-
### Pantalla Editar objeto
184+
## Pantalla Editar objeto
185185

186186
Si en lugar de clicar en crear objeto, clicamos en "Editar" dentro de la tarjeta del objeto, veremos el modal de edición
187187

188188
![Imagen de editarObject](/DocFiles/images/phase2/updateObject.png)
189189

190-
### Pantalla de detalles del objeto
190+
## Pantalla de detalles del objeto
191191

192192
Si clicamos en la tarjeta de un objeto, o su nombre, llegaremos a la pantalla de detalles
193193

194194
![Imagen de detalles1](/DocFiles/images/phase2/objectDetail1.png)
195195

196-
### Pantalla de detalles del objeto (continuación)
196+
## Pantalla de detalles del objeto (continuación)
197197

198198
Podemos ver también la paginación implementada
199199

200200
![Imagen de detalles2](/DocFiles/images/phase2/objectDetail2.png)
201201

202-
### Pantalla de editar comentario
202+
## Pantalla de editar comentario
203203

204204
Si clicamos en el botón de editar, podremos modificar nuestro comentario
205205

206206
![Imagen de editar comentario](/DocFiles/images/phase2/editComment.png)
207207

208-
### Pantalla de perfil
208+
## Pantalla de perfil
209209

210210
Si clicamos en "perfil" desde el navbar llegaremos a esta pantalla
211211

212212
![Imagen de perfil1](/DocFiles/images/phase2/profile1.png)
213213

214-
### Pantalla de perfil (continuación)
214+
## Pantalla de perfil (continuación)
215215

216216
Como se puede ver, podemos editar cualquier valor menos la contraseña
217217

218218
![Imagen de perfil2](/DocFiles/images/phase2/profile2.png)
219219

220-
### Pantalla de detalles como admin
220+
## Pantalla de detalles como admin
221221

222222
Si somos admin, desde nuestro dashboard (fase avanzada), llegaremos al objeto de un usuario y podremos moderarlo
223223

224224
![Imagen de detalles admin](/DocFiles/images/phase2/objectDetailAdminView1.png)
225225

226-
### Pantalla de detalles como admin (continuación)
226+
## Pantalla de detalles como admin (continuación)
227227

228228
Como se puede ver, los comentarios de un administrador tendrán un color diferente para diferenciarlos
229229

230230
![Imagen de detalles admin2](/DocFiles/images/phase2/objectDetailAdminView2.png)
231231

232-
### Pantalla de Error
232+
## Pantalla de Error
233233

234234
Si en cualquier momento introducimos una url no válida, llegaremos a la pantalla de error
235235

236236
![Imagen de error](/DocFiles/images/phase2/404error.png)
237237

238-
# 🗺️ Diagrama de Navegación
238+
## Pantalla de Recuperación de contraseña 1
239+
240+
Ahora podemos dar a la opción de recuperar contraseña en la pestaña de login
241+
242+
![Imagen de recuperacion1](/DocFiles/images/phase3/pass1.png)
243+
244+
## Pantalla de Recuperación de contraseña 2
245+
246+
Donde deberemos introducir un correo de la aplicación
247+
248+
![Imagen de recuperacion2](/DocFiles/images/phase3/pass2.png)
249+
250+
## Pantalla de Recuperación de contraseña 3
251+
252+
Y obtendremos un mensaje de éxito, independientemente de si el gmail existe o no, para evitar que se puedan hacer acciones maliciosas y sacar correos de usuarios por fuerza bruta
253+
254+
![Imagen de recuperacion3](/DocFiles/images/phase3/pass3.png)
255+
256+
## Pantalla de Recuperación de contraseña 4
257+
258+
Entonces recibiremos en nuestro correo un mensaje como el siguiente
259+
260+
![Imagen de recuperacion4](/DocFiles/images/phase3/pass4.png)
261+
262+
## Pantalla de Recuperación de contraseña 5
263+
264+
Y si aceptamos, nos dará la opción de cambiar la contraseña
265+
266+
![Imagen de recuperacion5](/DocFiles/images/phase3/pass5.png)
267+
268+
## Pantalla de verificación de registro
269+
270+
De manera similar, debemos verificar nuestra cuenta por gmail después de registrarnos, donde al hacerlo iremos a la siguiente pestaña
271+
272+
![Imagen de verificacion mail](/DocFiles/images/phase3/verificacion1.png)
273+
274+
## Pantalla de compartir objeto 1
275+
276+
Ahora, podemos compartir nuestros objetos con cualquier persona, incluso si no tienen cuenta en la aplicación, lo haremos desde dentro del objeto a compartir, y clicando en el botón
277+
278+
![Imagen de share1](/DocFiles/images/phase3/share1.png)
279+
280+
## Pantalla de compartir objeto 2
281+
282+
Ahora veremos el link
283+
284+
![Imagen de share2](/DocFiles/images/phase3/share2.png)
285+
286+
## Pantalla de compartir objeto 3
287+
288+
Este link podrá ser usado por cualquier persona, y si lo usa mientras el dueño sigue compartiendo el objeto, verá la siguiente página
289+
290+
![Imagen de share3](/DocFiles/images/phase3/share3.png)
291+
292+
## Pantalla de compartir objeto 4
293+
294+
Pero si lo usa cuando el dueño ha dejado de compartir el objeto, verá lo siguiente
295+
296+
![Imagen de share4](/DocFiles/images/phase3/share4.png)
297+
298+
## Pantalla de favoritos 1
299+
300+
Se ha añadido la opción de marcar objetos como favoritos para tenerlos siempre a mano en caso de tener muchos objetos, para agregar un objeto a favoritos, lo haremos desde la propia card del objeto, clicando en el corazón
301+
302+
![Imagen de fav1](/DocFiles/images/phase3/fav1.png)
303+
304+
## Pantalla de favoritos 2
305+
306+
Una vez que el objeto está en favoritos, para mostrarlo simplemente debemos clicar en el filtro de favoritos, justo al lado del selector de disciplina
307+
308+
![Imagen de fav2](/DocFiles/images/phase3/fav2.png)
309+
310+
## Pantalla de dashboard de administrador 1
311+
312+
También se ha añadido el dashboard de administrador, que será accesible desde su header
313+
314+
![Imagen de dashboard1](/DocFiles/images/phase3/dashboard1.png)
315+
316+
## Pantalla de dashboard de administrador 2
317+
318+
Una vez aquí, tenemos varias pestañas, la de overview, donde se muestra un resumen general de la aplicación
319+
320+
![Imagen de dashboard2](/DocFiles/images/phase3/dashboard2.png)
321+
322+
## Pantalla de dashboard de administrador 3
323+
324+
La de Usuarios, donde podemos ver unas estadísticas de usuarios, y la gestión de los usuarios por parte de los administradores
325+
326+
![Imagen de dashboard3](/DocFiles/images/phase3/dashboard3.png)
327+
328+
## Pantalla de dashboard de administrador 4
329+
330+
La de Contenido, donde veremos unas estadísticas sobre el contenido de la aplicación y la creación de objetos y comentarios
331+
332+
![Imagen de dashboard4](/DocFiles/images/phase3/dashboard4.png)
333+
334+
## Pantalla de dashboard de administrador 5
335+
336+
La de Actividad, donde veremos las estadísticas de creación de objetos en forma de gráfico de barras, con diferentes pestañas para "Semanal", "Mensual", y "Trimestral"
337+
338+
![Imagen de dashboard5](/DocFiles/images/phase3/dashboard5.png)
339+
340+
## Pantalla de dashboard de administrador 6
341+
342+
La de Crecimiento, donde veremos el análisis de crecimiento para Usuarios, Objetos y Comentarios, comparando diferentes periodos de tiempo, con su respectivo periodo anterior
343+
344+
![Imagen de dashboard6](/DocFiles/images/phase3/dashboard6.png)
345+
346+
## Pantalla de dashboard de administrador 7
347+
348+
La de Objetos, donde podemos ver los objetos de la aplicación, y la gestión de los objetos por parte de los administradores
349+
350+
![Imagen de dashboard7](/DocFiles/images/phase3/dashboard7.png)
351+
352+
## Pantalla de notificación de webSocket 1
353+
354+
Si un usuario comparte un objeto, los administradores recibirán una notificación y el link al objeto, para poder ver y moderar que están compartiendo los usuarios
355+
356+
![Imagen de websocket1](/DocFiles/images/phase3/websocket1.png)
357+
358+
## Pantalla de notificación de webSocket 2
359+
360+
Si clicamos, iremos al objeto
361+
362+
![Imagen de websocket2](/DocFiles/images/phase3/websocket2.png)
363+
364+
## 🗺️ Diagrama de Navegación
239365

240366
Este diagrama muestra cómo se navega entre las diferentes páginas de la aplicación.
241367

242-
![Imagen de wireframe](/DocFiles/images/phase2/wireframe.png)
368+
![Imagen de wireframe](/DocFiles/images/phase3/wireframe.png)

docs/development.md

+9-12
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ La aplicación LogArt se desarrolla usando un stack de tecnologías MERN, para m
1717

1818
- [Blog LogArt: Un giro radical hacia el MERN Stack](https://medium.com/@davidmorenom17/logart-un-giro-radical-hacia-el-mern-stack-060ebde31bc5)
1919

20-
Nota: Las versiones pueden no ser exactas
20+
Nota: Las versiones pueden no ser exactas debido al continuo desarrollo/actualización de las mismas
2121

2222
### Entorno de Desarrollo Backend
2323

@@ -92,13 +92,13 @@ La aplicación React se inicia en modo desarrollo en http://localhost:5173
9292

9393
Este diagrama muestra las clases de la aplicación y las relaciones entre ellas. (se han excluido clases como seeders o configuración de base de datos, .env, server, etc.)
9494

95-
![Imagen de clasesBackend](/DocFiles/images/phase2/final.svg)
95+
![Imagen de clasesBackend](/DocFiles/images/phase3/final.drawio.svg)
9696

9797
## 📝 Diagrama de clases del frontend
9898

9999
Este diagrama muestra las páginas y componentes de la aplicación, junto con archivos de contexto y utilidades. Tambien muestra las relaciones entre todos estos. (se han excluido cosas como tailwind, configuración de base de datos, .env, server, etc.)
100100

101-
![Imagen de clasesSPA](/DocFiles/images/phase2/finalspa.svg)
101+
![Imagen de clasesSPA](/DocFiles/images/phase3/finalspa.drawio.png)
102102

103103
## Uso de la API REST en Desarrollo
104104

@@ -179,30 +179,27 @@ Situarse en la carpeta raíz del proyecto
179179
cd 2024-logart/LogArtApp
180180
```
181181

182-
Construir la imagen con tag "dev"
182+
Construir la imagen con tag "latestManual" o cualquier otro
183183

184184
```
185-
docker build -t
186-
187-
davidmorenoo/logartapp:dev -f
188-
docker/Dockerfile .
185+
docker build -t davidmorenoo/logartapp:latestManual -f docker/Dockerfile .
189186
```
190187

191-
### Ejecución con docker-compose-dev.yml
188+
### Ejecución con docker-compose.yml
192189

193190
Navegar a la carpeta docker
194191

195192
```
196193
cd docker
197194
```
198195

199-
Ejecutar con docker-compose-dev.yml
196+
Ejecutar con docker-compose.yml
200197

201198
```
202-
docker compose -f docker-compose-dev.yml up
199+
docker compose up
203200
```
204201

205-
La aplicación estará disponible en https://localhost
202+
La aplicación estará disponible en https://localhost:8443
206203

207204
## Publicar una Release
208205

docs/execution.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Mode LastWriteTime Length Name
3636
docker compose up
3737
```
3838

39-
- Ahora, tenemos acceso a la aplicación desde el navegador dirigiendonos a https://localhost
39+
- Ahora, tenemos acceso a la aplicación desde el navegador dirigiendonos a https://localhost:8443
4040

4141
-Notas, al usar certificados SSL autofirmados, el navegador puede mostrar una advertencia de seguridad. Deberás clicar en "configuración avanzada" y en "Acceder a localhost (sitio no seguro)".
4242

0 commit comments

Comments
 (0)