Этот проект представляет собой полностью обслуживаемый сайт с интерактивными элементами и серверной инфраструктурой, разработанный мной с нуля. В проекте я использовал передовые технологии и подходы для обеспечения высокого уровня производительности и безопасности.
Роль в проекте Я полностью реализовал весь проект, включая фронтенд и бекенд, за исключением дизайна. Моя работа включала создание сайта, интеграцию интерактивных элементов и настройку серверной инфраструктуры.
Технологии
- Astro JS (SSG): Использовался для статической генерации сайта, что обеспечило высокую производительность и быструю загрузку страниц.
- Svelte: Реализовал интерактивные элементы и острова на сайте, что позволило создать динамичные и отзывчивые пользовательские интерфейсы.
- Decap CMS: Обеспечил удобное управление контентом на сайте, позволив команде легко обновлять и добавлять новую информацию.
- Zod: Использовался для валидации данных, что обеспечило надежность и безопасность приложения.
- Netlify: Проект был развернут на платформе Netlify, включая настройку бессерверных функций для обработки отправки форм и интеграции с Telegram.
✨ Функции и особенности
- Управление контентом: Полностью обслуживаемый с помощью Decap CMS сайт, который позволяет команде легко управлять контентом.
- Типизация: Настройка Decap CMS полностью типизирована с помощью TypeScript, что обеспечивает высокую надежность и предсказуемость при разработке.
- Интерактивные острова: Интерактивные острова, реализованные с помощью Svelte, обеспечивают динамичный и отзывчивый пользовательский интерфейс.
- Интеграция с Telegram: Формы на сайте интегрированы с Telegram через бессерверные функции Netlify, что обеспечивает удобную и оперативную связь с пользователями.
- Хранение данных: Данные хранятся не в базе данных, а в файлах YAML и Markdown в репозитории, что упрощает управление и версионирование контента.
Преимущества использования файлов YAML и Markdown
- Простота и прозрачность: Данные хранятся в текстовом формате, что облегчает их редактирование и чтение.
- Версионирование: Благодаря хранению данных в репозитории, каждый измененный файл можно отслеживать с помощью систем контроля версий (например, Git), что позволяет легко откатываться к предыдущим версиям и отслеживать историю изменений.
- Низкие затраты на инфраструктуру: Отсутствие необходимости в настройке и поддержке сложных баз данных уменьшает затраты на инфраструктуру.
- Интеграция с CI/CD: Легко интегрируется с процессами непрерывной интеграции и доставки, что позволяет автоматически обновлять данные на сайте при каждом пуше в репозиторий.