Сайт-агрегатор музичних рейтингів, призначений для збору, обчислення та відображення консенсусних оцінок музичних альбомів, EP та синглів на основі відгуків критиків та користувачів (аналог Metacritic / Album of the Year).
Проєкт побудований за сучасною клієнт-серверною архітектурою з використанням актуального стеку технологій.
- Frontend: Next.js (React), Tailwind CSS (або Vanilla CSS для унікального дизайну), TypeScript. Server-Side Rendering (SSR) для максимальної оптимізації SEO.
- Backend: Node.js / Express (або Next.js API Routes, для об'єднання в один монорепозиторій), TypeScript.
- База Даних: PostgreSQL (реляційна структура ідеально підходить для зв'язків: Артист -> Альбом -> Рецензія -> Користувач). Для зручної роботи можна використати Prisma ORM.
- Збір Даних: Python (BeautifulSoup, Scrapy) або Node.js (Puppeteer/Cheerio) для веб-скрапінгу сайтів-джерел. Інтеграція зі Spotify API / Last.fm API для швидкого отримання обкладинок та треклістів.
- Хостинг / Інфраструктура: Vercel (для клієнтської частини), Supabase або AWS RDS (для бази даних), GitHub Actions (для CI/CD).
- Data Crawler (Парсер): Окремий мікросервіс або CRON-job, що регулярно (наприклад, кожні кілька годин) обходить сайти авторитетних музичних видань, збирає нові рецензії та завантажує їх у базу.
- Scoring Engine (Рушій обчислення балів): Логіка переведення різних систем оцінювання (A-F, 1-5, 1-10) до єдиної 100-бальної шкали та обчислення середнього зваженого рейтингу.
- Core API: RESTful або GraphQL інтерфейс, який відповідає за пошук, фільтрацію та передачу даних на фронтенд.
- Web Client: Безпосередньо інтерфейс користувача з профілями, списками популярних релізів, сторінками рейтингів, тощо.
- Розробка детальної ER-діаграми бази даних (сутности:
Artist,Album,Track,ReviewSource,CriticReview,UserRatingтаUser). - Налаштування робочого середовища (Git репозиторій, базові лінтери eslint/prettier).
- Ініціалізація бази даних PostgreSQL та написання початкових міграцій.
- Налаштування інтеграції зі Spotify API для отримання достовірної метаінформації про релізи (дати, жанри, обкладинки).
- Розробка універсального формату збереження рецензій.
- Створення перших парсерів для 3-5 ключових музичних платформ.
- Реалізація механізму нормалізації зчитаних оцінок до 100 балів.
- Створення схеми Prisma та підключення до бази.
- Написання API ендпоінтів для отримання альбомів (посторінкова навігація, пошук, фільтри).
- Реалізація системи автентифікації користувачів (NextAuth або JWT).
- Створення ендпоінтів для залишення власних оцінок зареєстрованими клієнтами.
- Налаштування Next.js проєкту та архітектури компонентів.
- Верстка базових UI елементів системи дизайну (типографіка, прогрес-бари рейтингу, сітки альбомів).
- Інтеграція з API: підключення Головної сторінки, Сторінки Рейтингів за роками, Сторінки Артиста/Альбому.
- Реалізація функціоналу реєстрації та особистого кабінету користувача зі списком його оцінок.
- Впровадження Smooth-анімацій (Framer Motion або CSS transitions) для створення преміального вигляду.
- Глибоке налаштування SEO: генерація динамічних
<title>,meta-тегів та Open Graph карток для каждого альбому. - Адаптація під мобільні пристрої на 100%.
- Фінальне тестування, налаштування аналітики та публічний реліз.