|
1 | | -# SafeMap Landing Page |
| 1 | +# Página de Aterrizaje SafeMap |
2 | 2 |
|
3 | | -> 🚀 **Status: COMPLETED** - Production-ready landing page for SafeMap mobile security platform |
| 3 | +> 🚀 **Estado: COMPLETADO** - Página de aterrizaje lista para producción para la plataforma de seguridad móvil SafeMap. |
4 | 4 |
|
5 | | -## 📋 Project Overview |
| 5 | +## 📋 Descripción General del Proyecto |
6 | 6 |
|
7 | | -SafeMap is a university project for a mobile security platform that allows citizens to report incidents anonymously, visualize risk zones through real-time heat maps, and get safe routes using AI technology. |
| 7 | +SafeMap es un proyecto universitario para una plataforma de seguridad móvil que permite a los ciudadanos reportar incidentes de forma anónima, visualizar zonas de riesgo mediante mapas de calor en tiempo real y obtener rutas seguras utilizando tecnología de IA. |
8 | 8 |
|
9 | | -## 🏗️ Technology Stack |
| 9 | +## 🏗️ Stack Tecnológico |
10 | 10 |
|
11 | 11 | - **Framework**: Astro 5.8.1 |
12 | | -- **UI Library**: React 18 |
13 | | -- **Styling**: Tailwind CSS |
14 | | -- **Language**: TypeScript |
15 | | -- **Build Tool**: Vite |
16 | | -- **Package Manager**: npm |
| 12 | +- **Biblioteca UI**: React 18 |
| 13 | +- **Estilos**: Tailwind CSS |
| 14 | +- **Lenguaje**: TypeScript |
| 15 | +- **Herramienta de Build**: Vite |
| 16 | +- **Gestor de Paquetes**: npm |
17 | 17 |
|
18 | | -## 🚀 Project Structure |
| 18 | +## 📁 Estructura del Proyecto |
19 | 19 |
|
20 | 20 | ```text |
21 | | -safemap-landing/ |
22 | | -├── public/ # Static assets |
23 | | -│ ├── avatars/ # Testimonial avatars (SVG) |
24 | | -│ ├── js/ # Client-side scripts |
25 | | -│ ├── favicon.svg # Site favicon |
26 | | -│ ├── apple-touch-icon.svg # iOS app icon |
27 | | -│ ├── robots.txt # SEO robots file |
28 | | -│ └── site.webmanifest # PWA manifest |
| 21 | +SafeMap-Web/ |
| 22 | +├── public/ # Activos estáticos |
| 23 | +│ ├── avatars/ # Avatares para testimonios (SVG) |
| 24 | +│ ├── js/ # Scripts del lado del cliente |
| 25 | +│ ├── favicon.svg # Favicon del sitio |
| 26 | +│ ├── apple-touch-icon.svg # Ícono de app para iOS |
| 27 | +│ ├── robots.txt # Archivo robots para SEO |
| 28 | +│ └── site.webmanifest # Manifiesto PWA |
29 | 29 | ├── src/ |
30 | 30 | │ ├── components/ |
31 | | -│ │ ├── cards/ # Reusable card components |
32 | | -│ │ ├── interactive/ # React interactive components |
33 | | -│ │ ├── layout/ # Header, Footer |
34 | | -│ │ ├── sections/ # Page sections |
35 | | -│ │ └── ui/ # UI elements |
36 | | -│ ├── data/ # JSON data files |
37 | | -│ ├── layouts/ # Page layouts |
38 | | -│ ├── pages/ # Astro pages |
39 | | -│ └── styles/ # Global CSS |
40 | | -├── astro.config.mjs # Astro configuration |
41 | | -└── tailwind.config.mjs # Tailwind configuration |
| 31 | +│ │ ├── cards/ # Componentes de tarjeta reutilizables |
| 32 | +│ │ ├── interactive/ # Componentes interactivos de React |
| 33 | +│ │ ├── layout/ # Cabecera, Pie de página |
| 34 | +│ │ ├── sections/ # Secciones de la página |
| 35 | +│ │ └── ui/ # Elementos de UI |
| 36 | +│ ├── data/ # Archivos de datos JSON |
| 37 | +│ ├── layouts/ # Diseños de página |
| 38 | +│ ├── pages/ # Páginas Astro |
| 39 | +│ │ └── index.astro # Página principal, por ejemplo |
| 40 | +│ └── styles/ # CSS Global |
| 41 | +├── .github/ |
| 42 | +│ └── workflows/ |
| 43 | +│ └── deploy.yml # Flujo de trabajo para despliegue en GitHub Pages |
| 44 | +├── astro.config.mjs # Configuración de Astro |
| 45 | +├── tailwind.config.mjs # Configuración de Tailwind |
| 46 | +├── package.json # Manifiesto del proyecto |
| 47 | +├── DEPLOYMENT.md # Guía de despliegue |
| 48 | +└── README.md # Este archivo |
42 | 49 | ``` |
43 | 50 |
|
44 | | -│ └── index.astro |
45 | | -└── package.json |
| 51 | +Astro busca archivos `.astro` o `.md` en el directorio `src/pages/`. Cada página se expone como una ruta basada en el nombre de su archivo. |
46 | 52 |
|
47 | | -```` |
| 53 | +No hay nada especial sobre `src/components/`, pero ahí es donde nos gusta colocar cualquier componente de Astro/React/Vue/Svelte/Preact. |
48 | 54 |
|
49 | | -Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name. |
| 55 | +Cualquier activo estático, como imágenes, se puede colocar en el directorio `public/`. |
50 | 56 |
|
51 | | -There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components. |
| 57 | +## 🧞 Comandos |
52 | 58 |
|
53 | | -Any static assets, like images, can be placed in the `public/` directory. |
| 59 | +Todos los comandos se ejecutan desde la raíz del proyecto, desde una terminal: |
54 | 60 |
|
55 | | -## 🧞 Commands |
| 61 | +| Comando | Acción | |
| 62 | +| :------------------------ | :--------------------------------------------------------- | |
| 63 | +| `npm install` | Instala las dependencias | |
| 64 | +| `npm run dev` | Inicia el servidor de desarrollo local en `localhost:4321` | |
| 65 | +| `npm run build` | Compila tu sitio para producción en `./dist/` | |
| 66 | +| `npm run preview` | Previsualiza tu compilación localmente, antes de desplegar | |
| 67 | +| `npm run astro ...` | Ejecuta comandos CLI como `astro add`, `astro check` | |
| 68 | +| `npm run astro -- --help` | Obtiene ayuda usando el CLI de Astro | |
56 | 69 |
|
57 | | -All commands are run from the root of the project, from a terminal: |
| 70 | +## ✨ Características Implementadas |
58 | 71 |
|
59 | | -| Command | Action | |
60 | | -| :------------------------ | :----------------------------------------------- | |
61 | | -| `npm install` | Installs dependencies | |
62 | | -| `npm run dev` | Starts local dev server at `localhost:4321` | |
63 | | -| `npm run build` | Build your production site to `./dist/` | |
64 | | -| `npm run preview` | Preview your build locally, before deploying | |
65 | | -| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` | |
66 | | -| `npm run astro -- --help` | Get help using the Astro CLI | |
| 72 | +### 🎨 Diseño y Experiencia de Usuario |
67 | 73 |
|
68 | | -## ✨ Features Implemented |
| 74 | +- Diseño moderno y responsivo con enfoque "mobile-first" |
| 75 | +- Diseño de Cuadrícula Bento interactiva mostrando características clave |
| 76 | +- Animaciones y transiciones de desplazamiento suaves |
| 77 | +- Esquema de colores y tipografía profesional |
69 | 78 |
|
70 | | -### 🎨 Design & User Experience |
71 | | -- Modern, responsive design with mobile-first approach |
72 | | -- Interactive Bento Grid layout showcasing key features |
73 | | -- Smooth scroll animations and transitions |
74 | | -- Professional color scheme and typography |
| 79 | +### 🧩 Componentes Interactivos |
75 | 80 |
|
76 | | -### 🧩 Interactive Components |
77 | | -- **MapDemo**: Mock interactive map with incident markers and safe routes |
78 | | -- **StatsCounter**: Animated real-time statistics display |
79 | | -- **ContactForm**: Comprehensive beta registration form with validation |
| 81 | +- **MapDemo**: Maqueta de mapa interactivo con marcadores de incidentes y rutas seguras |
| 82 | +- **StatsCounter**: Visualización animada de estadísticas en tiempo real |
| 83 | +- **ContactForm**: Formulario completo de registro para beta con validación |
80 | 84 |
|
81 | | -### 📱 Sections |
82 | | -- **Hero**: Main value proposition with call-to-action |
83 | | -- **Features**: Six key platform features with icons |
84 | | -- **Testimonials**: Authority endorsements from security experts |
85 | | -- **Pricing**: Three-tier pricing structure |
86 | | -- **FAQ**: Comprehensive frequently asked questions |
87 | | -- **Footer**: Complete site information and links |
| 85 | +### 📱 Secciones |
88 | 86 |
|
89 | | -### 🔧 Technical Features |
90 | | -- **SEO Optimized**: Meta tags, structured data, sitemap |
91 | | -- **PWA Ready**: Web app manifest and offline capabilities |
92 | | -- **Performance**: Code splitting, lazy loading, optimized bundles |
93 | | -- **Accessibility**: WCAG 2.1 AA compliant |
94 | | -- **TypeScript**: Full type safety throughout the project |
| 87 | +- **Hero**: Propuesta de valor principal con llamada a la acción |
| 88 | +- **Features**: Seis características clave de la plataforma con iconos |
| 89 | +- **Testimonials**: Respaldo de autoridades y expertos en seguridad |
| 90 | +- **Pricing**: Estructura de precios de tres niveles |
| 91 | +- **FAQ**: Preguntas frecuentes detalladas |
| 92 | +- **Footer**: Información completa del sitio y enlaces |
95 | 93 |
|
96 | | -## 🚀 Quick Start |
| 94 | +### 🔧 Características Técnicas |
| 95 | + |
| 96 | +- **Optimizado para SEO**: Meta tags, datos estructurados, sitemap |
| 97 | +- **Listo para PWA**: Manifiesto de aplicación web y capacidades offline |
| 98 | +- **Rendimiento**: División de código (code splitting), carga diferida (lazy loading), paquetes optimizados |
| 99 | +- **Accesibilidad**: Cumple con WCAG 2.1 AA |
| 100 | +- **TypeScript**: Seguridad de tipos completa en todo el proyecto |
| 101 | + |
| 102 | +## 🚀 Inicio Rápido |
| 103 | + |
| 104 | +### Prerrequisitos |
97 | 105 |
|
98 | | -### Prerequisites |
99 | 106 | - Node.js 18+ |
100 | | -- npm or yarn |
| 107 | +- npm o yarn |
101 | 108 |
|
102 | | -### Installation |
| 109 | +### Instalación |
103 | 110 |
|
104 | 111 | ```bash |
105 | | -# Clone the repository |
106 | | -git clone [repository-url] |
107 | | -cd safemap-landing |
| 112 | +# Clona el repositorio |
| 113 | +git clone https://github.com/trinity-bytes/SafeMap-Web.git |
| 114 | +cd SafeMap-Web |
108 | 115 |
|
109 | | -# Install dependencies |
| 116 | +# Instala las dependencias |
110 | 117 | npm install |
111 | 118 |
|
112 | | -# Start development server |
| 119 | +# Inicia el servidor de desarrollo |
113 | 120 | npm run dev |
114 | | -```` |
| 121 | +``` |
115 | 122 |
|
116 | | -### Available Scripts |
| 123 | +### Scripts Disponibles |
117 | 124 |
|
118 | 125 | ```bash |
119 | | -npm run dev # Start development server |
120 | | -npm run build # Build for production |
121 | | -npm run preview # Preview production build |
122 | | -npm run astro # Run Astro CLI commands |
| 126 | +npm run dev # Inicia el servidor de desarrollo |
| 127 | +npm run build # Compila para producción |
| 128 | +npm run preview # Previsualiza la compilación de producción |
| 129 | +npm run astro # Ejecuta comandos CLI de Astro |
123 | 130 | ``` |
124 | 131 |
|
125 | | -## 🌐 Deployment |
| 132 | +## 🌐 Despliegue |
126 | 133 |
|
127 | | -The project is production-ready and can be deployed to: |
| 134 | +El proyecto está listo para producción y se puede desplegar en: |
128 | 135 |
|
129 | | -- **Netlify** (Recommended) |
| 136 | +- **Netlify** (Recomendado) |
130 | 137 | - **Vercel** |
131 | 138 | - **GitHub Pages** |
132 | | -- **Custom server** |
| 139 | +- **Servidor personalizado** |
133 | 140 |
|
134 | | -See `DEPLOYMENT.md` for detailed deployment instructions. |
| 141 | +Consulta `DEPLOYMENT.md` para instrucciones detalladas de despliegue. |
135 | 142 |
|
136 | | -## 📊 Performance |
| 143 | +## 📊 Rendimiento |
137 | 144 |
|
138 | | -- **Bundle Size**: ~200KB gzipped |
139 | | -- **Lighthouse Score**: 95-100 across all metrics |
| 145 | +- **Tamaño del Paquete**: ~200KB gzipped |
| 146 | +- **Puntuación Lighthouse**: 95-100 en todas las métricas |
140 | 147 | - **First Contentful Paint**: <1.5s |
141 | 148 | - **Time to Interactive**: <3.5s |
142 | 149 |
|
143 | | -## 🎓 University Project |
| 150 | +## 🎓 Proyecto Universitario |
144 | 151 |
|
145 | | -This landing page was developed as part of a university project for the "Diseño y Patrones de Software" course, demonstrating: |
| 152 | +Esta página de aterrizaje fue desarrollada como parte de un proyecto universitario para el curso "Diseño y Patrones de Software", demostrando: |
146 | 153 |
|
147 | | -- Modern web development practices |
148 | | -- Component-based architecture |
149 | | -- Performance optimization techniques |
150 | | -- Accessibility compliance |
151 | | -- Professional documentation |
| 154 | +- Prácticas modernas de desarrollo web |
| 155 | +- Arquitectura basada en componentes |
| 156 | +- Técnicas de optimización del rendimiento |
| 157 | +- Cumplimiento de accesibilidad |
| 158 | +- Documentación profesional |
152 | 159 |
|
153 | | -## 📚 Documentation |
| 160 | +## 📚 Documentación |
154 | 161 |
|
155 | | -- `DEPLOYMENT.md` - Comprehensive deployment guide |
156 | | -- `PROJECT-COMPLETION.md` - Detailed project completion report |
157 | | -- Component documentation within source files |
| 162 | +- `DEPLOYMENT.md` - Guía de despliegue completa |
| 163 | +- `PROJECT-COMPLETION.md` - Informe detallado de finalización del proyecto (si existe) |
| 164 | +- Documentación de componentes dentro de los archivos fuente |
158 | 165 |
|
159 | | -## 🤝 Contributing |
| 166 | +## 🤝 Contribuciones |
160 | 167 |
|
161 | | -This is a university project, but feedback and suggestions are welcome: |
| 168 | +Este es un proyecto universitario, pero los comentarios y sugerencias son bienvenidos: |
162 | 169 |
|
163 | | -1. Fork the repository |
164 | | -2. Create a feature branch |
165 | | -3. Commit your changes |
166 | | -4. Push to the branch |
167 | | -5. Create a Pull Request |
| 170 | +1. Haz un fork del repositorio |
| 171 | +2. Crea una rama para tu característica (`git checkout -b feature/AmazingFeature`) |
| 172 | +3. Haz commit de tus cambios (`git commit -m 'Add some AmazingFeature'`) |
| 173 | +4. Haz push a la rama (`git push origin feature/AmazingFeature`) |
| 174 | +5. Abre un Pull Request |
168 | 175 |
|
169 | | -## 📄 License |
| 176 | +## 📄 Licencia |
170 | 177 |
|
171 | | -This project is developed for educational purposes as part of university coursework. |
| 178 | +Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo `LICENSE` para más detalles. |
172 | 179 |
|
173 | 180 | --- |
174 | 181 |
|
175 | | -**Built with ❤️ using Astro, React, TypeScript, and Tailwind CSS** |
| 182 | +**Construido con ❤️ usando Astro, React, TypeScript y Tailwind CSS** |
0 commit comments