-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathespecificaciones.html
147 lines (135 loc) · 8.26 KB
/
especificaciones.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<!DOCTYPE html>
<html>
<head>
<title>Meteoro - Especificación</title>
<link href="css/specs.css" rel="stylesheet">
</head>
<body>
<h2>Especificación Funcional</h2>
<h3>Pantalla Agragar Ciudad</h3>
<ul>
<li>El usuario selecciona la opción del menú "Agregar Ciudad".</li>
<li>
Se accede a la pantalla para agregar ciudad.
<ul>
<li>Título de la pantalla: Alta de ciudad</li>
<li>Buscador: Campo texto: "Ciudad (e.j Buenos Aires)"</li>
<li>Opciones:
<ul>
<li>Agregar</li>
<li>Back</li>
</ul>
</li>
</ul>
</li>
<li>El usuario selecciona una ciudad (ver Búsqueda / selección de ciudad).</li>
<li>El usuario selecciona la opción "Agregar".</li>
<li>Luego de agregar la ciudad, se regresa a la pantalla de visualización de información del tiempo para la nueva ciudad, la cual estará al final de la lista de ciudades agregadas.</li>
<li>Nota: No es posible dar de alta dos veces la misma ciudad. En caso que el usuario agregue una ciudad ya seleccionada anteriormente, la ciudad no se agrega (y se continúa con el curso normal).</li>
<li>Nota: En caso de intentar agregar una ciudad, si la aplicación aún no cargó la lista de ciudades disponibles y no tiene acceso a internet, emitirá un mensaje que diga: "Actualmente no existen ciudades para consultar. Intente más tarde"</li>
</ul>
<h4>Búsqueda / selección de ciudad</h4>
<ul>
<li>El sistema va autocompletando a medida que se escribe</li>
<li>Para hacer efectiva la selección, el usuario debe elegir una de las opciones que despliega el buscador</li>
<li>Nota: La búsqueda no distingue entre mayúsculas y minúsculas, ni tampoco tildes: si ingreso andalgalá o Andalgala, debería traerme la ciudad Andalgalá (con el tilde). O si ingreso bUenOs aireS, debería traerme Buenos Aires.</li>
</ul>
<figure>
<img src="img/mockup-add.png"/>
<figcaption>Ejemplo de pantalla de agregar ciudad</figcaption>
</figure>
<h3>Pantalla de Visualización de estado del tiempo</h3>
<ul>
<li>El usuario ingresa a la aplicación.</li>
<li>Se accede a las pantallas con al información del tiempo, de manera secuencial, en el mismo orden que fueron dadas de alta las distintas ciudades (en el caso de ser la primera vez que se accede a la aplicación se va directamente a la pantalla de alta de ciudad).</li>
<li>
Para cada ciudad se visualiza:
<ul>
<li>
Estado actual:
<ul>
<li>Estado del Tiempo</li>
<li>Temperatura</li>
<li>Presión Atmosférica</li>
<li>Humedad</li>
</ul>
</li>
<li>
Pronóstico (Para el día de hoy más los proximos 3 días):
<ul>
<li>Día de la semana (se visualiza "hoy", "mañana" y el nombre de los siguientes días)</li>
<li>Estado del tiempo</li>
<li>Mínima esperada</li>
<li>Máxima esperada</li>
</ul>
</li>
<li>última actualización: En el pie de la pantalla se debe visualizar información sobre la última actualización</li>
</ul>
</li>
<li>
Observaciones:
<ul>
<li>Las temperaturas se miden en grados celsius y los valores posibles van de -273 a 99.</li>
<li>
Los posibles estados del tiempo son:
<table id="statuses">
<tr>
<td><img src="img/status_unknown.png"/><br>N/D</td>
<td><img src="img/status_clear.png"/><br>Despejado</td>
<td><img src="img/status_cloudy.png"/><br>Nublado</td>
<td><img src="img/status_partly_cloudy.png"/><br>Parcialmente Nublado</td>
</tr>
<tr>
<td><img src="img/status_fog.png"/><br>Brumoso</td>
<td><img src="img/status_scattered_showers.png"/><br>Lluvias Aisladas</td>
<td><img src="img/status_showers.png"/><br>Lluvioso</td>
<td><img src="img/status_snow.png"/><br>Nieve</td>
</tr>
<tr>
<td><img src="img/status_snow_rain.png"/><br>Lluvia y Nieve</td>
<td><img src="img/status_storm.png"/><br>Tormentoso</td>
<td><img src="img/status_windy.png"/><br>Ventoso</td>
<td> </td>
</tr>
</table>
</li>
<li>La humedad se mide en porcentaje y va de 0 a 100 por ciento.</li>
<li>La presión se mide en hectopascales (hPa)</li>
<li>En caso de no encontrarse disponible la información, se debe visualizar la signa "N/D" (No Disponible).</li>
</ul>
</li>
</ul>
<figure>
<img src="img/mockup-details.jpg"/>
<figcaption>Mockup de la pantalla de estado del tiempo</figcaption>
</figure>
<h3>Actualización de Datos</h3>
<p>Cuando el usuario acceda a la pantalla de visualización de estado del tiempo para una ciudad, la aplicación:</p>
<ul>
<li>Si no tiene datos, mostrará N/D e intentará traerlos del servidor.</li>
<li>Si tiene datos, los mostrará.</li>
<li>Si tiene datos cuya actualización sea de hace más de 5 minutos, luego de mostrarlos, intentará actualizarlos.</li>
</ul>
<p>Por más que haya conexión a internet disponible, hasta que el usuario no intente ver una ciudad, los datos no se actualizarán.</p>
<h3>Opciones del menú</h3>
<ul>
<li>Agregar ciudad: Al seleccionar esta opción se dirige a la funcionalidad "Pantalla Agragar Ciudad"</li>
<li>Quitar ciudad: Elimina la ciudad que se está visualizando y pasa a la primer ciudad disponible. En caso de no quedar más ciudades, vuelve a la pantalla "Agregar Ciudad"</li>
<li>Siguiente ciudad: Muestra la siguiente ciudad seleccionada. En caso de haber llegado a la última, vuelve a empezar. En caso de haber una sola ciudad, esta opción está deshabilitada.</li>
</ul>
<h3>Mensajes de Error</h3>
<p>En los casos en que la aplicación requiera conectarse con el servidor y no pueda hacerlo, deberá mostrar mensajes de error, indicando el motivo:</p>
<ul>
<li>Si el dispositivo no tiene acceso a internet, ""Se produjo un error en la conexion: " y el motivo del error.</li>
<li>Si el dispositivo tiene acceso a internet, pero el servidor no responde correctamente: "El servidor no está disponible".</li>
</ul>
<figure>
<img src="img/toast-example.png"/>
<figcaption>Ejemplo de cómo deben verse los mensajes de error</figcaption>
</figure>
<h3>Proveedor de datos</h3>
<p>El servidor utilizado por la aplicación debe ser el alojado en: <a href="http://meteoro.herokuapp.com">http://meteoro.herokuapp.com</a></p>
<p>Las ciudades disponibles deben ser las devueltas por: <a href="http://meteoro.herokuapp.com/get_cities">http://meteoro.herokuapp.com/get_cities</a></p>
<p>Para un código de ciudad obtenido con get_cities, el estado actual y el pronóstico deben ser los correspondientes a <a href="http://meteoro.herokuapp.com/get_forecast?city=CODIGO">http://meteoro.herokuapp.com/get_forecast?city=CODIGO</a></p>
</body>
</html>