Skip to content

Commit 4f48965

Browse files
committed
the file organization is completed
1 parent 1cc74ef commit 4f48965

File tree

11 files changed

+36
-64
lines changed

11 files changed

+36
-64
lines changed

docs/README.es.md

Lines changed: 36 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -24,32 +24,27 @@
2424
- Almacenamiento local de datos de HTML5: cookies, storage y indexed DB.
2525

2626
## Descripción del Proyecto
27-
Con el fin de ejercitar y demostrar los conocimientos adquiridos en clases virtuales este proyecto consiste en desarrollar una aplicación web similar a Wallapop. No se tiene permitido utilizar librerías o frameworks de JavaScript. En cambio, sí está permitido utilizar utilidades de CSS externas.
27+
Con el fin de ejercitar y demostrar los conocimientos adquiridos en clases virtuales este proyecto consiste en desarrollar una aplicación web similar a Wallapop. No se tiene permitido utilizar librerías o frameworks de JavaScript. En cambio, sí está permitido utilizar utilidades de CSS externas.
2828
Además, se debe proporcionar un archivo db.json para el backend con los datos de ejemplo para la corrección de la práctica.
2929

3030
1. Listado de anuncios.
31-
- Cada anuncio debe mostrar su imagen (si tiene), nombre, descripción, precio y si es
32-
compra o venta. Los anuncios publicados deben obtenerse a través de un endpoint,
33-
mencionado más adelante.
34-
- La pantalla de listado de los anuncios deberá gestionar todos los estados de
35-
interfaz correctamente: vacío (no hay anuncios), error (cuando se produce un error al cargar
36-
los anuncios), carga (mientras se cargan los anuncios desde el backend) y éxito
37-
(cuando se han recuperado los anuncios y están listos para ser mostrados).
31+
- Cada anuncio debe mostrar su imagen (si tiene), nombre, descripción, precio y si es compra o venta. Los anuncios publicados deben obtenerse a través de un endpoint, mencionado más adelante.
32+
- La pantalla de listado de los anuncios deberá gestionar todos los estados de interfaz correctamente:
33+
- Vacío (no hay anuncios)
34+
- Error (cuando se produce un error al cargar los anuncios).
35+
- Carga (mientras se cargan los anuncios desde el backend).
36+
- Éxito (cuando se han recuperado los anuncios y están listos para ser mostrados).
3837
- Al pulsar sobre un anuncio, iremos a la pantalla de detalle de anuncio.
39-
- Si el usuario ha hecho login, hay que mostrar al usuario un botón que le permita
40-
acceder a la pantalla de creación de un anuncio.
38+
- Si el usuario ha hecho login, hay que mostrar al usuario un botón que le permita acceder a la pantalla de creación de un anuncio.
4139

4240
2. Detalle de anuncio.
43-
- La página de detalle de anuncio deberá mostrar foto (si tiene), nombre, descripción,
44-
precio y si es compra o venta.
45-
- En este detalle de anuncio se deberá gestionar todos los estados de interfaz
46-
correctamente: vacío (no existe el anuncio), error (cuando se produce un error al
47-
cargar la información del anuncio), carga (mientras se cargan la información del
48-
anuncio desde el backend) y éxito (cuando se ha recuperado la información del
49-
anuncio y está listo para ser mostrado).
50-
- Si el usuario está autenticado y el anuncio le pertenece, deberá además mostrar un
51-
botón que permita eliminar el anuncio (aunque antes de eliminarlo, deberá confirmar
52-
con el usuario si realmente quiere eliminar o no el anuncio).
41+
- La página de detalle de anuncio deberá mostrar foto (si tiene), nombre, descripción, precio y si es compra o venta.
42+
- En este detalle de anuncio se deberá gestionar todos los estados de interfaz correctamente:
43+
- Vacío (no existe el anuncio)
44+
- Error (cuando se produce un error al cargar la información del anuncio)
45+
- Carga (mientras se cargan la información del anuncio desde el backend)
46+
- Éxito (cuando se ha recuperado la información del anuncio y está listo para ser mostrado).
47+
- Si el usuario está autenticado y el anuncio le pertenece, deberá además mostrar un botón que permita eliminar el anuncio (aunque antes de eliminarlo, deberá confirmar con el usuario si realmente quiere eliminar o no el anuncio).
5348

5449
3. Creación de un anuncio.
5550

@@ -58,45 +53,31 @@ con el usuario si realmente quiere eliminar o no el anuncio).
5853
- Nombre (obligatorio): nombre del producto.
5954
- Descripción (obligatorio): descripción del producto.
6055
- Precio (obligatorio): precio del producto.
61-
- Compra/venta (obligatorio): indica si el anuncio se trata de una compra o una
62-
venta.
63-
- Cuando el usuario envíe el formulario, deberá enviar al backend una petición para
64-
guardar el anuncio.
65-
- Se deberá gestionar todos los estados de interfaz correctamente: error (cuando se
66-
produce un error al guardar la información del anuncio), carga (mientras se guarda la
67-
información del anuncio en el backend) y éxito (cuando se han guardado
68-
correctamente la información del anuncio).
69-
- A esta pantalla sólo podremos acceder si estamos logados. En caso contrario,
70-
habrá que redireccionar al usuario a la página de listado de anuncios, informándole
71-
del motivo.
56+
- Compra/venta (obligatorio): indica si el anuncio se trata de una compra o una venta.
57+
- Cuando el usuario envíe el formulario, deberá enviar al backend una petición para guardar el anuncio.
58+
- Se deberá gestionar todos los estados de interfaz correctamente:
59+
- Error (cuando se produce un error al guardar la información del anuncio)
60+
- Carga (mientras se guarda la información del anuncio en el backend)
61+
- Éxito (cuando se han guardado correctamente la información del anuncio).
62+
- A esta pantalla sólo podremos acceder si estamos logados. En caso contrario, habrá que redireccionar al usuario a la página de listado de anuncios, informándole del motivo.
7263

7364
4. Login.
7465

75-
- La página de login deberá mostrar un formulario solicitando el nombre de usuario y
76-
contraseña.
77-
- Cuando el usuario envíe el formulario, deberá autenticar al usuario contra el
78-
backend para obtener un token JWT que será utilizado en las siguientes
79-
comunicaciones con el backend para autenticar al usuario.
80-
- Se deberá gestionar todos los estados de interfaz correctamente: carga, error y
81-
éxito.
66+
- La página de login deberá mostrar un formulario solicitando el nombre de usuario y contraseña.
67+
- Cuando el usuario envíe el formulario, deberá autenticar al usuario contra el backend para obtener un token JWT que será utilizado en las siguientes comunicaciones con el backend para autenticar al usuario.
68+
- Se deberá gestionar todos los estados de interfaz correctamente: carga, error y éxito.
8269

8370
5. Registro.
8471

85-
- Muy parecida a la de login. Deberá mostrar un formulario solicitando el nombre de
86-
usuario y contraseña.
72+
- Muy parecida a la de login. Deberá mostrar un formulario solicitando el nombre de usuario y contraseña.
8773
- Cuando el usuario envíe el formulario, deberá registrar al usuario en el backend.
88-
- Se deberá gestionar todos los estados de interfaz correctamente: carga, error y
89-
éxito.
74+
- Se deberá gestionar todos los estados de interfaz correctamente: carga, error y éxito.
9075

9176
### Opcional
92-
- Gestionar la paginación de anuncios en el listado, ya que por defecto la API
93-
sólo devuelve 10 elementos.
77+
- Gestionar la paginación de anuncios en el listado, ya que por defecto la API sólo devuelve 10 elementos.
9478
- Implementar un buscador de anuncios en el listado.
95-
- Permitir editar un anuncio, sólo si el usuario autenticado es el propietario del
96-
anuncio.
97-
- Permitir el filtrado de anuncios usando tags. Por lo que en el formulario de anuncio
98-
deberán poder incluirse tags de los mismos. Estos tags inicialmente pueden ser
99-
estáticos (siempre los mismos).
79+
- Permitir editar un anuncio, sólo si el usuario autenticado es el propietario del anuncio.
80+
- Permitir el filtrado de anuncios usando tags. Por lo que en el formulario de anuncio deberán poder incluirse tags de los mismos. Estos tags inicialmente pueden ser estáticos (siempre los mismos).
10081
- Unido al anterior, hacer que los tags sean dinámicos.
10182

10283

@@ -112,33 +93,24 @@ Se utilizará sparrest.js como API REST de apoyo para la práctica (creado por e
11293

11394
### Requisitos de Software
11495

115-
- **Git** (Requerido)
116-
- **SourceTree** (Opcional)
117-
- **Visual Studio** (Ejecutado en la versión 1.99.0) (Requerido)
96+
- **Visual Studio** (Testeado en la versión 1.99.0)
97+
- **Live Server** (Addon de Visual Studio, Opcional)
98+
11899

119100
### Descripción de los Programas
120101

121-
- **Git**: Herramienta de control de versiones. Es imprescindible para clonar el repositorio.
122-
- **SourceTree**: Una herramienta visual para gestionar repositorios Git. Permite interactuar con Git de forma sencilla sin necesidad de utilizar la línea de comandos.
123102
- **Visual Studio**: Entorno de desarrollo integrado (IDE) necesario para ejecutar el proyecto. Asegúrate de utilizar la versión 1.99.0 para evitar problemas de compatibilidad.
103+
- **Live Server**: Extensión de Visual Studio que permite visualizar los archivos HTML de manera local en un navegador, mostrando los cambios en tiempo real.
124104

125105
### Pasos para utilizar este proyecto
126106

127-
1. Clona el repositorio de GitHub utilizando **SourceTree** o directamente con el siguiente comando mediante Git:
128-
129-
```bash
130-
git clone https://github.com/PabloSch26/keepcoding-frontend-javascript-submission-5.git
131-
132-
2. Una vez clonado el repositorio:
133-
134-
2.1 Abre el proyecto en Visual Studio agregando el directorio del proyecto a tu espacio de trabajo.
107+
1. Descargue el comprimido del proyecto desde GitHub a su ordenador.
135108

136-
2.2 -
109+
2. Una vez desgargado el comprimido, abra el proyecto en Visual Studio agregando el directorio del proyecto a su espacio de trabajo.
137110

138111
### Notas
139112

140113
- Asegúrate de tener correctamente instalados todos los programas necesarios antes de proceder con la ejecución del proyecto.
141-
- Si no deseas usar SourceTree, puedes clonar el repositorio directamente usando la terminal con el comando git clone.
142114

143115
## Sin contribuciones ni licencias
144116

File renamed without changes.
File renamed without changes.

src/js/main/main.js

Whitespace-only changes.

src/js/post-detail/post-detail.js

Whitespace-only changes.

src/js/signup/signup.js

Whitespace-only changes.

views/create-post.html

Whitespace-only changes.

views/index.html

Whitespace-only changes.

views/login.html

Whitespace-only changes.

views/post-detail.html

Whitespace-only changes.

0 commit comments

Comments
 (0)