Pull to refresh

Новый музыкальный портал… )

Reading time3 min
Views958
Возможно мне кажется, а может быть и нет, но в последнее время все только и делают, что флеш-игры да интернет-радио… С этой точки зрения наш проект не блещет оригинальностью...) Но все же мы постарались сделать его по-своему уникальным и заложить в него большие возможности для потенциального развития. На сколько нам это удалось — покажет время, а пока хочу немного рассказать о собственно проделанной работе.
Итак, что же это за проект такой. А проект этот — нечто среднее между интернет-радио и флеш игрой социальной сетью.

Музыкальная составляющая


Главное на портале — это конечно же музыка. Ее много. А будет еще больше. А раз есть музыка — значит ее нужно как-то слушать! Для этой цели мы сделали специальный плеер, основная прелесть которого в том, что поток не прерывается во время переходов по сайту, что достигается банальным попапом. Уникальность же плеера состоит в том, что управляется радио из любого из плееров, с любой открытой страницы портала или из самого попапа.
Пока что каждый может использовать портал по полной программе и совершенно бесплатно. Только и нужно, что зарегистрироваться. Хотя в перспективе планируется разделение пользователей на платных и не очень; натурально, с ограничением некоторых функций для последних.
Для не зарегистрированных пользователей есть несколько предустановленных радиопотоков. Зарегистрированным же доступен собственный плейлист, в который музыку добавляет сам пользователь, бродя по музыкальным архивам...

Социальная составляющая


Сообщества также музыкально-направленные и рассчитаны большей частью на создание анонсов о каких-либо музыкальных событиях и написание отчетов о уже прошедших событиях. Или же просто фото-видео-аудио отчеты. Впрочем, мультимедийные посты могут создавать только авторы сообществ, либо же привилегированные пользователи — «фотографы» или «диджеи».
На ряду с сообществами, «социальности» проекту придают профили пользователей — а по сути даже не просто профили, а полноценные персональные сайты, с данными о пользователе, его фото и видео галереями и персональными плейлистами.
Еще одна примечательная черта портала — внутренний IM. Общалка себе и общалка, казалось бы, но важно то, что построена она на базе джаббер-сервера, что в будущем позволит открыть ее и для мира и, возможно, даже входить на портал используя любой джаббер-аккаунт.
И раз уж речь зашла о технологиях я вкратце, напоследок, опишу техническую сторону проекта. Дальше будет пара нудных абзацев с техническими подробностями, можете их и не читать.)

Технические подробности


Проект написан на PHP5, база данных MySQL. В качестве шаблонизатора используется XSLT. Сервер Nginx.
Немного приподымая завесу тайны, скажу, что ядро построено таким образом, что каждая страничка собирается из ряда отдельных модулей при помощи SSI, что позволяет гибко разнести нагрузку на несколько физических серверов. Более того, сборкой SSI и XSLT-трансформацией занимается сам Nginx, что позволяет при помощи Memcached кэшировать результат работы каждого модуля по-отдельности и тем самым свести к минимуму обращения к PHP.
Таким образом процесс построения любой страницы выглядит следующим образом: сайт получает запрос, определяет при помощи системы маршрутизации список модулей требующихся на данной странице, собирает XML с набором SSI подключений и отдает его Nginx'у. Nginx проверяет каждое подключение — есть ли таковое имеется уже в Memcached — сразу его оттуда достает и идет дальше, если нет — обращается по указанному адресу и в ответ получает XML с результатами работы модуля, который записывается в Memcached и в следующий раз уже отрабатываться не будет по чем зря.
Ну а дальше собранную вышеописанным методом «большую» XML'ку Nginx преобразовывает в HTML при помощи закешированных в нем XSL шаблонов. И уже готовый HTML выдается браузеру пользователя.
Так же выделен отдельный сервер для всех статичных данных — цссов, картинок, собственно файлового контента портала. Там ничего особо интересного нет — он только и умеет, что быстро отдавать статику. :)
Естественно это лишь малая толика технических описаний проекта, но об остальном — как-нибудь в другой раз. В конце-концов нельзя же выболтать все тайны за один раз… ;)

Эпилог


А в завершение следует заметить, что безусловно проект еще далек от идеала и многого недостает, кое-что не очень удобно, да и вообще… Но хочется верить, что со временем все будет! =)
Итак — встречайте — http://madloud.com/
Tags:
Hubs:
+3
Comments67

Articles