Социальная подкаст-платформа

Рассмотрение сервисов, позволяющих прослушивать подкасты. Разработка платформы, сочетающей в себе функции для удобного поиска подкастов и возможность их обсуждения с ведущими и другими слушателями. Оценка удобства работы с пользовательским интерфейсом.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 14.12.2019
Размер файла 2,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

<div className="container-fluid">

<h2 className="text-center">@{this.state.myPage ? getCookie("username"): this.state.user !== null ? this.state.user.username: '...'}</h2>

<hr/>

<h4>id: <font

color="#A2A2A2"> {this.state.myPage ? getCookie("userId"): this.state.user !== null ? this.state.user.id: '...'}</font>

</h4>

{!this.state.editMode &&

<h4>Имя:

<font

color="#A2A2A2"> {this.state.myPage ? getCookie("name"): this.state.user !== null ? this.state.user.name: '...'}</font>

&#160;

{this.state.myPage &&

<button className="btn btn-info btn-sm" type="button" onClick={() => {

this.onEditClick()

}}>

<span className="glyphicon glyphicon-pencil"></span>

</button>

}

</h4>}

{this.state.editMode &&

<h4>Имя:

<input ref="newName" placeholder={'Введите имя'} maxLength={30}/>

&#160;

<button className="btn btn-info btn-sm" type="button" onClick={() => {

this.onEditOkClick()

}}>

<span className="glyphicon glyphicon-ok"></span>

</button>

</h4>}

<h4>Email:<font

color="#A2A2A2"> {this.state.myPage ? getCookie("userEmail"): this.state.user !== null ? this.state.user.email: '...'}</font>

</h4>

<hr/>

<h4>Подкасты:</h4>

{this.state.loadEnds &&

<UserProfilePagePodcastTable

myPage={this.state.myPage}

userId={this.state.myPage ? getCookie("userId"): this.state.user !== null ? this.state.user.id: '-1'}

history={this.props.history}

/>}

</div>

</div>

</div>

</div>

</div>

</div>

)

}

}

Файл: Discasst\src\main\resources\static\app\components\userPage\ UserProfilePageModalOnDelete.js

import React, {Component} from 'react';

export default class UserProfilePageModalOnDelete extends Component {

constructor(props) {

super(props);

this.state = {};

}

getName() {

if (this.props.podcast) return this.props.podcast.name;

return null

}

render() {

return (

<div className="modal fade" id="exampleModal" role="dialog" aria-labelledby="exampleModalLabel"

aria-hidden="true">

<div className="modal-dialog" role="document">

<div className="modal-content">

<div className="modal-header">

<button type="button" className="close" data-dismiss="modal" aria-label="Close">

<span aria-hidden="true">&times;</span>

</button>

</div>

<div className="modal-body">

Удалить подкаст "{this.getName()}"?

</div>

<div className="modal-footer">

<button type="button" className="btn btn-secondary" data-dismiss="modal">Нет, я передумал

</button>

<button type="button" className="btn btn-primary" data-dismiss="modal"

onClick={this.props.onDelete}>Да, удалить подкаст

</button>

</div>

</div>

</div>

</div>

);

}

}

Файл: Discasst\src\main\resources\static\app\components\userPage\ UserProfilePagePodcastTable.js

import React from 'react';

import UserProfilePageModalOnDelete from './UserProfilePageModalOnDelete';

import {getCookie, getFullCSRFParam} from '../Helper';

export default class UserProfilePagePodcastTable extends React.Component {

constructor() {

super();

this.state = {

podcasts: -1,

coauthorPodcast: -1,

deletedPodcast: null

};

}

componentDidMount() {

if (this.props.userId !== '-1') this.getMyPodcasts();

}

getMyPodcasts() {

fetch(`/getPodcastsByUserId?id=${this.props.userId}`)

.then((response) => {

return response.json()

})

.then((json) => {

this.setState({podcasts: json});

this.getCoauthorPodcasts();

});

}

getCoauthorPodcasts() {

fetch(`/getPodcastsByUserIdInCoauthors?id=${this.props.userId}`)

.then((response) => {

return response.json()

})

.then((json) => {

this.setState({coauthorPodcast: json});

});

}

addEpisode = (item) => {

console.log("add episode to " + item.name);

this.props.history.push(`/createNewEpisode/${item.id}`);

};

deletePodcast = () => {

console.log("delete podcast " + this.state.deletedPodcast.name);

$.ajax({

url: `/removePodcast?id=${this.state.deletedPodcast.id}&${getFullCSRFParam()}`,

type: 'post',

success: () => {

this.props.history.push(`/user/${getCookie("username")}`);

},

error: (jqXhr, textStatus, errorThrown) => {

console.log(errorThrown + " " + textStatus);

}

});

window.location.reload();

};

chooseDeletedPodcast = (item) => {

this.setState({deletedPodcast: item});

};

addNewPodcast = () => {

console.log("add new podcast");

this.props.history.push(`/createNewPodcast`);

};

editCoauthors = (item) => {

this.props.history.push(`/addCoauthors/${item.id}`);

};

render() {

return (

<div className="panel panel-info" style={{backgroundColor: "#F9F9F9"}}>

<div className="panel-body">

{this.state.podcasts.length !== 0 && <h4>Созданные:</h4>}

{this.state.podcasts !== -1 && this.state.podcasts.map((item, num) =>

<div key={item.id}>

<div className="panel panel-info">

<div className="panel-body">

{this.props.myPage &&

<div style={{display: "flex", justifyContent: "center"}}>

<p className="h4" style={{width: "100%"}}><a onClick={() => {

this.props.history.push(`/podcast/${item.id}`)

}}>{item.name}</a></p>

<button className="btn btn-info btn"

onClick={() => this.editCoauthors(item)}><span

className="glyphicon glyphicon-user"></span> Изменить соавторов

</button>

&#160;&#160;

<button className="btn btn-info btn" onClick={() => this.addEpisode(item)}><span

className="glyphicon glyphicon-plus"></span> Добавить выпуск

</button>

&#160;&#160;

<button className="btn btn-danger btn" data-toggle="modal"

data-target="#exampleModal"

onClick={() => this.chooseDeletedPodcast(item)}

>

<span className="glyphicon glyphicon-remove"></span>

</button>

</div>}

{!this.props.myPage &&

<div style={{display: "flex", justifyContent: "center"}}>

<p className="h4" style={{width: "100%"}}><a onClick={() => {

this.props.history.push(`/podcast/${item.id}`)

}}>{item.name}</a></p>

</div>}

</div>

</div>

</div>

)}

{this.state.coauthorPodcast.length !== 0 && <h4>В соавторстве:</h4>}

{this.state.coauthorPodcast !== -1 && this.state.coauthorPodcast.map((item, num) =>

<div key={item.id}>

<div className="panel panel-info">

<div className="panel-body">

<div style={{display: "flex", justifyContent: "center"}}>

<p className="h4" style={{width: "100%"}}><a onClick={() => {

this.props.history.push(`/podcast/${item.id}`)

}}>{item.name}</a></p>

</div>

</div>

</div>

</div>

)}

{this.props.myPage &&

<button style={{height: "39px"}} className="btn btn-info pull-right"

onClick={this.addNewPodcast}>

<span className="glyphicon glyphicon-plus"></span> Добавить новый подкаст

</button>}

</div>

<UserProfilePageModalOnDelete onDelete={this.deletePodcast} podcast={this.state.deletedPodcast}/>

</div>

);

}

}

Размещено на Allbest.ru

...

Подобные документы

  • Обзор существующих технологий разработки программного обеспечения. Описание платформы NET Framework. Принцип работы платформы: компиляция исходного кода; процесс загрузки и исполнения кода; IL-код и верификация. Новые возможности платформы NET Framework.

    реферат [30,7 K], добавлен 01.03.2011

  • Последовательность разработки информационного обеспечения очного и дистанционного обучения через просмотры и прослушивание подкастов. Создание веб-сайта или модуля существующей системы. Описание интерфейсов системы. Настройка прав доступа к подкастам.

    дипломная работа [2,3 M], добавлен 19.11.2010

  • Знакомство с особенностями и этапами разработки приложения для платформы Android. Рассмотрение функций персонажа: бег, прыжок, взаимодействие с объектами. Анализ блок-схемы алгоритма генерации платформ. Способы настройки функционала рабочей области.

    дипломная работа [3,4 M], добавлен 19.01.2017

  • Основы работы с многооконным графическим пользовательским интерфейсом операционной системы Windows95/NT. Основы работы с прикладными программами Windows и DOS. Разработка простого приложения для Windows при помощи средства разработки приложений DELPHI.

    контрольная работа [281,0 K], добавлен 15.01.2009

  • Облачные технологии - использование приложения, расположенного на удаленных серверах, посредством удобного пользовательского интерфейса. История и перспективы их развития. Платформы обслуживания "облаков". Положительные и отрицательные стороны сервисов.

    презентация [770,2 K], добавлен 14.03.2017

  • Отличительные черты смартфонов и коммуникаторов от обычных мобильных телефонов, их дополнительные возможности. Назначение и конфигурация платформы J2ME, ее функции. Порядок проектирования приложения для мобильного телефона на основе платформы J2ME.

    дипломная работа [3,6 M], добавлен 05.09.2009

  • Анализ хозяйственной деятельности организации и ее состояния. Особенности работы мобильной платформы. Реквизитный состав документов. Программная реализация и оценка эффективности приложения. Безопасность работы с приложением и безопасность данных.

    дипломная работа [1,0 M], добавлен 13.06.2014

  • Рассмотрение поисковых систем интернета как программно-аппаратного комплекса с веб-интерфейсом, предоставляющего возможность поиска информации. Виды поисковых систем: Archie, Wandex, Aliweb, WebCrawler, AltaVista, Yahoo!, Google, Яндекс, Bing и Rambler.

    реферат [24,3 K], добавлен 10.05.2013

  • База знаний интеллектуальной справочной системы по алгебре дробей со стандартными набором информационно-поисковых операций, пользовательским интерфейсом. Тестирование на стандартных вопросах и шаблонах поиска. Интеграция со смежными предметными областями.

    курсовая работа [12,3 M], добавлен 06.05.2011

  • Описание языков программирования Java и JavaFX. Среда разработки NetBeans и класс численных методов. Архитектура и принцип работы апплета с понятным пользовательским интерфейсом. Разработка алгоритма программы на примере модели межвидовой конкуренции.

    курсовая работа [1023,2 K], добавлен 19.09.2012

  • Понятие и функциональные особенности Java Card как версии Java-платформы для устройств с крайне ограниченными вычислительными ресурсами, оценка ее возможностей и необходимых ресурсов. Анализ степени безопасности платформы, взаимодействие компонентов.

    презентация [1,0 M], добавлен 19.05.2014

  • Описание платформы Deductor, ее назначение. Организационная структура аналитической платформы Deductor, состав модулей. Принципы работы программы, импорт и экспорт данных. Визуализация информации, сценарная последовательность и мастер обработки.

    курсовая работа [3,7 M], добавлен 19.04.2014

  • Рассмотрение и анализ моделей и алгоритмов семантического поиска в мультиагентной системе поддержки пользователей. Ознакомление с интерфейсом чата с ботом. Изучение и характеристика экспериментальных оценок релевантности и пертинентности запросов.

    дипломная работа [3,0 M], добавлен 13.10.2017

  • Изучение информационной базы клиента "Управление торговлей". Выбор и изучение платформы для построения сайта. Выбор технологии и среды разработки. Разработка основных алгоритмов решения задач и хранения данных. Проектирование интерфейса пользователя.

    дипломная работа [1,1 M], добавлен 20.05.2017

  • Разработка базы данных средней сложности с типовым пользовательским интерфейсом, а в частности, разработка базы данных СНАБЖЕНИЕ МАГАЗИНОВ на основе реляционной системы управления базами данных Microsoft Access, входящей в комплект Microsoft Office.

    курсовая работа [2,1 M], добавлен 02.12.2012

  • Разработка компьютерного приложения "Кипящая жидкость" с применением навыков программирования на языке Java. Проектирование алгоритма для решения поставленной задачи, его предметная область. Создание приложения с графическим пользовательским интерфейсом.

    отчет по практике [3,0 M], добавлен 29.10.2015

  • Возможности среды программирования delphi при разработке приложения с визуальным интерфейсом. Разработка спецификации программного обеспечения и на ее основе кода программного продукта. Отладка программы "трассировкой", ее тестирование и оптимизация.

    курсовая работа [501,4 K], добавлен 07.12.2016

  • Возможность поиска информации в режиме продвинутого диалога на естественном языке. Системы с интеллектуальным интерфейсом. Экспертные, самообучающиеся и адаптивные системы. Интеллектуальные базы данных. Системы контекстной и когнитивной помощи.

    презентация [224,2 K], добавлен 16.10.2013

  • Средства поиска информации в сети Интернет. Основные требования и методика поиска информации. Структура и характеристика поисковых сервисов. Глобальные поисковые машины WWW (World Wide Web). Планирование поиска и сбора информации в сети Интернет.

    реферат [32,2 K], добавлен 02.11.2010

  • Создание информационной системы работы такси с целью обеспечения диспетчерам более быстрого и удобного поиска необходимой информации. Создание таблиц и связей для работы с базами данных в среде Microsoft Access 2007. разработка запросов и отчетов.

    курсовая работа [3,1 M], добавлен 06.05.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.