Skip to content

Commit 795ceb1

Browse files
author
AI Assistant
committed
docs: prd ask bot
1 parent b4540f5 commit 795ceb1

File tree

2 files changed

+71
-0
lines changed

2 files changed

+71
-0
lines changed

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,12 @@
11
# lab_vs-code-copilot_csharp-ask-bot
22
Demo laboratory for VSCode Copilot course CSharp edition
3+
4+
## AskBot CLI
5+
6+
A CLI educational tool that queries public APIs to provide basic information about the user's IP and associated services: location, weather, currency, time, and sun.
7+
8+
---
9+
10+
- Author: [Alberto Basalo](https://albertobasalo.dev)
11+
- [GitHub Org]: https://github.com/AiCodeAcademy
12+
- [Repository]: https://github.com/AiCodeAcademy/lab_vs-code-copilot_csharp-ask-bot

docs/ask-base.PRD.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
ID: PRD-ASKBOT-v1
3+
Versión: 0.1
4+
Autor: Alberto Basalo
5+
Fecha: 2025-09-09
6+
Estado: draft
7+
---
8+
9+
# PRD — AskBot CLI
10+
11+
## Resumen ejecutivo
12+
CLI educativo que consulta APIs públicas para dar información básica de la IP del usuario y servicios asociados: localización, clima, moneda, hora y sol.
13+
14+
## Objetivos y métricas
15+
- CLI usable en taller.
16+
- Demostrar consumo de APIs REST.
17+
- Lograr que todos los comandos funcionen en local.
18+
19+
## Usuarios
20+
- Estudiante de programación.
21+
- Instructor.
22+
23+
## Historias de usuario
24+
- Como usuario, quiero saber mi localización actual a partir de mi IP.
25+
- Como usuario, quiero conocer el pronóstico de hoy en mi ciudad.
26+
- Como usuario, quiero ver la moneda oficial de mi país y cotizaciones básicas.
27+
- Como usuario, quiero conocer mi hora local y diferencia con UTC.
28+
- Como usuario, quiero saber las horas de salida y puesta del sol.
29+
30+
## Alcance
31+
Included: CLI con 5 comandos.
32+
Excluded: interfaz gráfica, persistencia, autenticación.
33+
34+
## Requerimientos funcionales
35+
1. RF-1: `/loc` muestra ciudad, país, lat/long de [`ipapi.co/json`](https://ipapi.co/json/)
36+
2. RF-2: `/weather` muestra temperatura, prob. lluvia, código meteorológico de [`open-meteo.com`](https://open-meteo.com/)
37+
3. RF-3: `/money` muestra moneda oficial + cotización en EUR/USD/GBP/CHF de [`open.er-api.com/v6`](https://open.er-api.com/v6)
38+
4. RF-4: `/time` muestra hora local, huso, verano/invierno, diff con UTC de [`timeapi.io`](https://timeapi.io/)
39+
5. RF-5: `/sun` muestra salida y puesta de sol de [`open-meteo.com`](https://open-meteo.com/)
40+
41+
## Requerimientos no funcionales
42+
- Simplicidad ante todo.
43+
- Respuesta <1s con conexión activa.
44+
- Uso de APIs públicas gratuitas:
45+
- ipapi.co
46+
- open-meteo.com
47+
- open.er-api.com/v6
48+
- timeapi.io
49+
50+
## Dependencias
51+
- Dotnet 7+
52+
- APIs externas
53+
54+
## Criterios de aceptación
55+
- Cada comando devuelve datos legibles.
56+
- CLI ejecutable con `dotnet run /command`.
57+
58+
## Riesgos
59+
- APIs caídas → fallback genérico.
60+
61+

0 commit comments

Comments
 (0)