BASE DE DADOS #Entrega Final
Pedro Silva Rafael Ferreira Tomรกs Marques
Introdução ................................................................................................4 ER .............................................................................................................5 Manual de Instalação.................................................................................7 Guia de Utilizador ...................................................................................9 Distribuição de Tarefas ..........................................................................17
Introdução Neste projecto foi proposta a criação de um mercado de ideias. Neste mercado é possível a qualquer User que se registe previamente, criar, vender e comprar ideias. É um mercado objectivo, onde os Users podem criar ideias e os investidores analisam a sua potencialidade e investem, ou não, o seu dinheiro. É ainda permitido ao User partilhar uma ideia ou criar um novo tópico para um circulo privado de amigos (Private Groups) ou tornar tudo isso público para os Users do mercado. Para realizar este projecto foi necessário aprender diferentes linguagens de programação num curto espaço de tempo. Optámos por utilizar CSS, HTML, JavaScript recorrendo a funções JSON associadas a PHP. A nossa principal prioridade foi implementar todas as funcionalidades apresentadas no projecto, com alguns extras, e aliar tudo isto a um interface simples, original, agradável e intuítivo. Para tal, foi necessário construir todo o interface gráfico de raíz, recorrendo a HTML, CSS e JavaScript.
Modelo ER
O Esquema de ER deste projecto tem como Entidades Principais os Grupos, os Utilizadores, as Ideias e os Tópicos. Cada grupo tem um administrador (que está presente na tabela Utilizadores) e pode ter vários convidados (que têm que estar igualmente presentes na tabela Utilizadores). Na entidade utilizador são armazenadas várias informações de cada user: mail, password, deicoins, no de ideias e foto. Cada ideia tem que estar associada a um utilizador (o seu criador) que é o único com a permissão de a alterar (nome, descrição), deve possuir um ou mais tópicos (relacionados através da tabela TopicOfIdea), e pode estar ou não associada a um grupo privado. Cada tópico possui um nome e pode estar associado a várias ideias. No decurso do projecto o ER foi mudando tendo começado mais simples (devido à facilidade em relação aos testes com o php) mas foi-se desenvolvendo até ao estado actual. Em comparação com o ER inicial as diferenças são poucas, à excepção de alguns nomes das entidades e das colunas, apenas foram acrescentados e removidos alguns campos. Alguns campos tiveram que ser alterados devido às suas características específicas, nomeadamente, os campos que envolvem os deicoins. Visto que as shares podem ter valores de 0.00001 deicoins este campo teve que ser alterado para um decimal 12,5 (5 casas decimais). Em relação à data o formato foi alterado para datetime para que incluísse as horas e os segundos. Visto que decidimos utilizar uma base de dados MySQL, alguns campos, como o group_id, o idea_id e o topic_id, utilizam a funcionalidade de auto_increment. Na generalidade dos campos não é possível inserir o valor NULL, à excepção do Group_ID, porque não é obrigatório uma ideia estar associada a um grupo. 
ER original apresentado a 21 de Nov nas aulas PL
Manual de Instalação
Processo #1 - Servidor Online 1 - Insira na barra de endereços do seu browser o seguinte endereço: http://ideabroker.bugs3.com/ 2 - Efectue o Registo e faça o login no IdeaBroker. Processo #2 - Servidor Localhost 1 - Instale no seu computador o software MAMP, XAMPP ou outro semelhante com a mesma finalidade. MAMP Source: http://www.mamp.info/en/index.html Tutorial XAMMP: http://www.wikihow.com/Install-XAMPP-for-Windows 2 - Após a instalação de um dos softwares referidos anteriormente, digite no browser “localhost” e importe a base de dados do ficheiro em anexo denominado “SQL 13DEC 2.sql”; 3 - Crie um utilizador nessa mesma base de dados com as permissões de administrador e insira os seguintes dados: Username: u753818799_root; Password: welcome; 4 -Copie todos os ficheiros PHP, CSS e HTML, também fornecidos em anexo, para a pasta “htdocs“, localizada no directório de instalação do software previamente instalado; 5 - Insira na barra de endereços do seu brower o seguinte endereço: “localhost/ideabroker”; 6 - Crie um novo utilizador e faça login; 7 - Bem Vindo ao IdeaBroker.
Guia de Utilizador
Neste manual vão ser apresentadas algumas noções básicas para que a sua navegação seja simplificada. Sign Up Esta é a página que permite efectuar o registo para aceder ao IdeaBroker.
Login Efectuado o registo já poderá entrar no IdeaBroker.
Top Bar A Top Bar estará sempre presente em todas as páginas do IdeaBroker. Na Top Bar o User poderá pesquisar Topics ou Ideas, visualizar a sua quantidade de DEIcoins, o número de ideias que já publicou e o nível onde se encontra. O nível está dependente da quantidade de ideias publicadas. Por fim, terá a sua imagem de perfil ao lado de todos os seus dados pessoais, seguida do botão que permite fazer Logout.
Portfólio Efectuado o login, irá ser redireccionado automaticamente para o separador Portfólio onde são mostradas todas as ideias pertencentes ao User em login. Consoante as alterações efectuadas, estas serão sempre actualizadas.
My Account Nesta página o User pode alterar as definições da sua conta. É-lhe permitido alterar a password actual, o e-mail e a sua foto de perfil.
Manage Group Aqui poderá ver todos os grupos privados onde é administrador e os seus respectivos guests.
Manage Group / Edit Group Aqui poderรก adicionar e eliminar Users dos Grupos Privados.
View Topics Esta pรกgina permite o User consultar todos os tรณpicos existentes e as ideias associadas, respectivamente, a cada um deles.
View Ideas Nesta página poderá consultar todas as ideias existentes , tendo a possibilidade de comprar acções sempre que pretender.
View Ideas / Buy Shares Esta é a página onde o user poderá definir a quantidade de acções que deseja comprar e o seu valor.
New Topic Nesta página o User poderá criar um novo tópico para inserir a sua ideia. O nome deste terá de ser diferente de todos os tópicos existentes na base de dados.
New Idea O User poderá criar novas ideias e associá-las ao tópico que melhor se adequar. Na criação de uma ideia o User define seu nome, a sua descrição, atribuí-lhe o seu valor de venda, que irá ser dividido pelas 100 000 shares, e ainda poderá associá-la a um grupo privado, para que esta apenas seja visivel para os Users desse grupo.
New Group Nesta pรกgina poderรก criar Grupos Privados, para partilhar ideias de forma restrita entre Users.
Distribuição de Tarefas
Tarefas
Pedro Silva
Rafael Ferreira
Tomás Marques
HTML / CSS JavaScript PHP Connect.php New_User.php Register.php Login.php Logout.php Index.php User_data.php Navbar.php Topbar.php Portfolio.php Share_Sell.php Buys.php buyShares.php User_Account.php View_Ideas_Topic.php View_Ideas.php View_Topics.php AddTopic.php New_Idea.php New_Topic.php Source_CG.php Source_Groups.php Source_topic.php AddGuest.php Edit_Group.php New_Group.php SearchResult.php Edit_Idea.php IdeaDesc.php
Durante todo o projecto foram utilizadas em média 300 Horas por cada um dos membros.