Skip to content

Commit ba2c2fe

Browse files
update readme and docs
1 parent 068383b commit ba2c2fe

3 files changed

Lines changed: 798 additions & 191 deletions

File tree

README.md

Lines changed: 45 additions & 191 deletions
Original file line numberDiff line numberDiff line change
@@ -14,239 +14,93 @@
1414

1515
## ✨ Features
1616

17-
- 🌍 **Multi-language Support** - English, Spanish, French, and Portuguese
18-
- 🎨 **Modern Design** - Clean, responsive interface with glassmorphism effects
19-
- 📱 **Mobile-First** - Fully responsive across all devices
20-
-**Accessible** - Semantic HTML and ARIA attributes
21-
- 🚀 **Lightweight** - No heavy frameworks, pure vanilla JavaScript
22-
-**Fast** - Static site hosted on GitHub Pages
23-
- 🔧 **Well-Tested** - Unit tests with Jest for core functionality
24-
- 🎯 **SEO Optimized** - Dynamic meta tags and Open Graph support
25-
26-
---
17+
- 🌍 Multi-language support (English, Spanish, French, Portuguese)
18+
- 🎨 Modern, responsive design with glassmorphism effects
19+
- Lightweight vanilla JavaScript - no frameworks
20+
- ⚡ Fast static site hosted on GitHub Pages
21+
- 🔧 Well-tested with Jest
22+
- 🎯 SEO optimized with dynamic meta tags
2723

2824
## 🛠️ Tech Stack
2925

30-
### Frontend
31-
- **HTML5** - Semantic markup
32-
- **CSS3** - Custom styles with CSS Variables
33-
- **JavaScript (ES6+)** - Vanilla JS, no frameworks
34-
- **Bootstrap 5** - Layout and utilities
35-
36-
### Development & Quality
37-
- **Jest** - Unit testing
38-
- **ESLint** - Code linting
39-
- **Prettier** - Code formatting
40-
- **GitHub Actions** - CI/CD pipeline
41-
42-
### Deployment
43-
- **GitHub Pages** - Static site hosting
44-
45-
---
26+
**Frontend:** HTML5 • CSS3 • Vanilla JavaScript • Bootstrap 5
27+
**Development:** Jest • ESLint • Prettier
28+
**CI/CD:** GitHub Actions
29+
**Deployment:** GitHub Pages
4630

4731
## 🚀 Quick Start
4832

49-
### For Non-Technical Users
50-
51-
Simply visit the live site: **[fernandotonacoder.github.io](https://fernandotonacoder.github.io)**
33+
### For Visitors
34+
Simply visit: **[fernandotonacoder.github.io](https://fernandotonacoder.github.io)**
5235

5336
### For Developers
54-
5537
```bash
56-
# Clone the repository
38+
# Clone and install
5739
git clone https://github.com/fernandotonacoder/fernandotonacoder.github.io.git
5840
cd fernandotonacoder.github.io
59-
60-
# Install dependencies (for testing/linting only)
6141
npm install
6242

63-
# Run tests
43+
# Run tests and checks
6444
npm test
65-
66-
# Check code quality
6745
npm run lint
6846
npm run format:check
6947

70-
# Open the site locally
71-
# Option 1: Simply open src/index.html in your browser
72-
# Option 2: Use a simple HTTP server
48+
# Open locally (Option 1: directly in browser)
49+
open src/index.html
50+
51+
# Or Option 2: with local server
7352
python -m http.server 8000 -d src
74-
# Then visit http://localhost:8000
7553
```
7654

77-
---
78-
7955
## 📂 Project Structure
8056

8157
```
82-
.
83-
├── src/
84-
│ ├── index.html # Main HTML file
85-
│ ├── css/
86-
│ │ └── style.css # Custom styles
87-
│ ├── js/
88-
│ │ ├── translations.js # Multi-language system
89-
│ │ ├── custom-select.js # Language selector dropdown
90-
│ │ └── *.test.js # Unit tests
91-
│ ├── locales/
92-
│ │ ├── en.json # English translations
93-
│ │ ├── es.json # Spanish translations
94-
│ │ ├── fr.json # French translations
95-
│ │ └── pt.json # Portuguese translations
96-
│ └── assets/
97-
│ └── images/ # Images and icons
98-
├── .github/
99-
│ └── workflows/
100-
│ └── ci-cd.yml # CI/CD pipeline
101-
├── docs/
102-
│ └── project-instructions.md # Detailed technical documentation
103-
└── package.json # Dependencies and scripts
58+
src/
59+
├── index.html # Main page
60+
├── css/style.css # Styles
61+
├── js/
62+
│ ├── translations.js # Multi-language system
63+
│ ├── custom-select.js # Language selector
64+
│ └── *.test.js # Unit tests
65+
└── locales/ # Translation files (en, es, fr, pt)
10466
```
10567

106-
---
107-
108-
## 🌍 Multi-Language System
109-
110-
The site automatically detects your browser language and displays content accordingly. You can manually switch languages using the dropdown selector.
111-
112-
**Supported Languages:**
113-
- 🇺🇸 English
114-
- 🇪🇸 Spanish (Español)
115-
- 🇫🇷 French (Français)
116-
- 🇧🇷 Portuguese (Português)
117-
118-
**How it works:**
119-
1. Checks your saved preference (localStorage)
120-
2. Falls back to browser language
121-
3. Defaults to English if language not supported
122-
123-
---
124-
125-
## 🧪 Testing & Quality Assurance
126-
127-
This project maintains high code quality standards:
68+
## 🧪 Development
12869

12970
```bash
130-
# Run all tests with coverage
131-
npm test
132-
133-
# Lint JavaScript code
134-
npm run lint
135-
136-
# Auto-fix linting issues
137-
npm run lint:fix
138-
139-
# Check code formatting
140-
npm run format:check
141-
142-
# Format all files
143-
npm run format
71+
npm test # Run tests
72+
npm run lint # Check code quality
73+
npm run lint:fix # Auto-fix issues
74+
npm run format # Format code
75+
npm run format:check # Check formatting
14476
```
14577

146-
**Test Coverage:**
147-
- ✅ Translation system logic
148-
- ✅ Language detection
149-
- ✅ DOM manipulation
150-
- ✅ Custom dropdown functionality
78+
## 🔄 CI/CD
15179

152-
---
153-
154-
## 🔄 CI/CD Pipeline
155-
156-
Every pull request and merge to `main` triggers automated checks:
157-
158-
### On Pull Request:
159-
- ✅ Code formatting validation (Prettier)
160-
- ✅ Code linting (ESLint)
161-
- ✅ Unit tests (Jest)
162-
- ✅ Test coverage report
163-
164-
### On Merge to Main:
165-
- ✅ All PR checks
166-
- ✅ Build for GitHub Pages
167-
- ✅ Automatic deployment 🚀
168-
169-
**Branch Protection:**
170-
- Direct pushes to `main` are blocked
171-
- All tests must pass before merging
172-
- Branches must be up to date
173-
- Linear history enforced (squash merges)
174-
175-
---
176-
177-
## 🎨 Design Highlights
178-
179-
- **Color Scheme:** Navy blue primary with accent colors
180-
- **Typography:** System fonts for optimal performance
181-
- **Effects:** Glassmorphism on language selector
182-
- **Icons:** SVG icons with CSS filters for color manipulation
183-
- **Layout:** Bootstrap grid with custom adjustments
184-
- **Animations:** Smooth transitions and hover effects
185-
186-
---
187-
188-
## 📝 Development Notes
189-
190-
### Code Style
191-
- **Quotes:** Double quotes for strings
192-
- **Semicolons:** Always required
193-
- **Indentation:** 4 spaces
194-
- **Arrow Functions:** Always use parentheses
195-
- **Trailing Commas:** None
196-
197-
### Adding New Features
198-
199-
**New Translation:**
200-
1. Add key-value to all JSON files in `src/locales/`
201-
2. Add `data-translate="key"` attribute to HTML element
202-
203-
**New Language:**
204-
1. Create `src/locales/{lang-code}.json`
205-
2. Add language code to `supportedLangs` in `translations.js`
206-
3. Add language name to `languageNames` in `custom-select.js`
207-
4. Add option to HTML selector
208-
209-
---
210-
211-
## 📄 License
212-
213-
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
214-
215-
---
80+
- **On PR:** Runs tests, linting, and format checks
81+
- **On Merge:** Deploys to GitHub Pages automatically
82+
- **Branch Protection:** All checks must pass before merging
21683

21784
## 👤 Author
21885

219-
**Fernando Tona**
86+
**Fernando Tona**
87+
🌐 [Website](https://fernandotonacoder.github.io) • 💼 [LinkedIn](https://www.linkedin.com/in/fernandotona/) • 🐙 [GitHub](https://github.com/fernandotonacoder)
22088

221-
- 🌐 Website: [fernandotonacoder.github.io](https://fernandotonacoder.github.io)
222-
- 💼 LinkedIn: [Fernando Tona](https://www.linkedin.com/in/fernandotona/)
223-
- 🐙 GitHub: [@fernandotonacoder](https://github.com/fernandotonacoder)
89+
## 📚 Documentation
22490

225-
---
226-
227-
## 🤝 Contributing
228-
229-
Contributions, issues, and feature requests are welcome!
230-
231-
1. Fork the project
232-
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
233-
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
234-
4. Push to the branch (`git push origin feature/AmazingFeature`)
235-
5. Open a Pull Request
236-
237-
**Note:** All PRs must pass automated tests and code quality checks.
238-
239-
---
91+
- **[Technical Documentation](docs/project-instructions.md)** - Architecture, conventions, and detailed guides
92+
- **[Development Guide](docs/development.md)** - Setup, testing, and contribution guidelines
93+
- **[Design System](docs/design.md)** - Colors, typography, and styling patterns
24094

241-
## 📚 Additional Documentation
95+
## � License
24296

243-
For detailed technical documentation, see [docs/project-instructions.md](docs/project-instructions.md)
97+
MIT License - see [LICENSE](LICENSE) for details.
24498

24599
---
246100

247101
<div align="center">
248102

249-
**⭐ Star this repo if you found it useful!**
103+
**⭐ Star this repo if you find it useful!**
250104

251105
Made with ❤️ by Fernando Tona
252106

0 commit comments

Comments
 (0)