Prerequisites
Before you begin, ensure you have the following:Web Browser
Any modern browser (Chrome, Firefox, Safari, Edge)
Text Editor
VS Code, Sublime Text, or your preferred editor
Local Server
Optional: VS Code Live Server or Python’s HTTP server
Basic Knowledge
HTML, CSS, and basic JavaScript understanding
This is a static HTML/CSS/JS project with no build process or package dependencies required. You can open the files directly in your browser!
Quick Start
Clone or Download
Get the project files from your repository:Or download and extract the ZIP file to your preferred location.
Project Structure
File Descriptions
HTML Files
HTML Files
Each HTML file represents a step in the appointment booking process:
- index.html: Entry point with two main options (book new or manage existing)
- iniciar-solicitud.html: Choose between DNI/NIE or electronic certificate authentication
- seleccionar-cita.html: Multi-section form for appointment details
- resumen.html: Confirmation page with appointment summary and reference code
CSS Files
CSS Files
Modular CSS architecture:
- style.css: CSS custom properties, reset, and global styles
- headerfooter.css: Responsive header/footer with mobile menu
- index.css: Landing page specific styles
- iniciar-solicitud.css: Authentication options layout
- seleccionar-cita.css: Form styling with validation
- resumen.css: Summary page with tables and status display
JavaScript Files
JavaScript Files
Minimal JavaScript footprint:
- index.js: 13-line mobile navigation toggle
Images Directory
Images Directory
Optimized assets:
- Multiple format support (PNG, WebP, AVIF) for performance
- SVG icons inline in HTML for styling flexibility
- Official government logos maintained for authenticity
Understanding the CSS System
CSS Custom Properties
The entire design system is built on CSS variables defined instyle.css:
Global Layout
All main content uses a consistent centered layout:Responsive Breakpoints
The project uses two main breakpoints:Customization Guide
Changing Colors
Edit the CSS variables incss/style.css:
Adding New Pages
Modifying Forms
The form structure inseleccionar-cita.html uses semantic HTML:
Adding Form Fields
Testing Responsive Design
- Browser DevTools
- Physical Devices
- Browser Window
- Open DevTools (F12 or Cmd/Ctrl + Shift + I)
- Toggle device toolbar (Cmd/Ctrl + Shift + M)
- Test different screen sizes:
- Desktop: 1920x1080
- Tablet: 768x1024
- Mobile: 375x667 (iPhone SE)
- Mobile: 390x844 (iPhone 12/13)
Browser Compatibility
The project uses modern CSS features with excellent browser support:Supported Browsers:
- Chrome/Edge 88+
- Firefox 85+
- Safari 14+
- Opera 74+
CSS Features Used
- CSS Custom Properties: Widely supported
- Flexbox: Universal support
- Modern image formats: Graceful fallbacks to PNG
- CSS Media Queries: Universal support
Deployment
Static Hosting Options
Since this is a static site, deployment is straightforward:GitHub Pages
Netlify
- Drag and drop project folder to netlify.com
- Or connect GitHub repository
- No build settings needed
- Site deploys instantly
Vercel
Traditional Hosting
Upload via FTP to any web hosting:
- Upload all files to public_html/
- Ensure index.html is in root
- Check file permissions (644 for files)
Development Tips
Common Issues
Styles not loading
Styles not loading
Problem: CSS files aren’t applying.Solutions:
- Check file paths in
<link>tags - Clear browser cache (Cmd/Ctrl + Shift + R)
- Verify CSS files exist in
css/directory - Check browser console for 404 errors
Images not displaying
Images not displaying
Problem: Logos or icons are broken.Solutions:
- Verify images exist in
images/directory - Check file paths in
<img>tags - Ensure file extensions match (case-sensitive on Linux)
- Check browser console for 404 errors
Mobile menu not working
Mobile menu not working
Form submission issues
Form submission issues
Problem: Form doesn’t submit or validate.Solutions:
- This is a frontend prototype - form doesn’t POST anywhere
- To add backend: modify
<form action="..." method="post"> - HTML5 validation runs automatically on submit
- Use
patternattribute for custom validation
Next Steps
Now that you have the project running:Explore Features
Learn about all the features and see detailed code examples
Customize Design
Modify CSS variables to match your brand or preferences
Add Backend
Connect forms to a backend API for real appointment booking
Enhance Accessibility
Add more ARIA labels and keyboard navigation improvements
Need Help? Open an issue in the project repository or consult the HTML comments in the source files for inline guidance.