Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • C cineclube-wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Cine Clube
  • cineclube-wiki
  • Wiki
  • banco_dados

banco_dados · Changes

Page history
changes in db authored May 29, 2021 by Augusto César Bottega Agostini's avatar Augusto César Bottega Agostini
Hide whitespace changes
Inline Side-by-side
banco_dados.md
View page @ fe530ec1
......@@ -26,7 +26,7 @@ A partir dos resultados obtidos, fizemos a seguinte escolha:
<h2><b>Entidades: </b></h2>
<p><b>user: </b>Como o sistema de login será utilizando login com o Google, armazenaremos somente o email do usuario (PK, para poder relaciona-lo com outras entidades), nome e foto de perfil.</p>
<p><b>movie: </b>De acordo com as definicões retiradas das reuniões com os stakeholders, sobre filmes é necessário armazenar: título, título original, sinopse, crítica, curador que botou o filme no sistema, ano de lançamento, duração e o path para o banner do filme. Além disso também estamos utilizando um idFilme como PK.</p>
<p><b>achievement: </b>De acordo com as definicões retiradas das reuniões com os stakeholders, sobre conquistas é necessário armazenar: titulo, descricao, e imagem da conqusita. Além disso também estamos usando um id como PK e armazenando a meta que o usuário precisa alcançar para obter a conquista.</p>
<p><b>achievement: </b>De acordo com as definicões retiradas das reuniões com os stakeholders, sobre conquistas é necessário armazenar: titulo, descricao, e imagem da conqusita. Além disso também estamos usando um id como PK, armazenando a meta que o usuário precisa alcançar para obter a conquista e o id da tag caso a conquista seja com base na mesma.</p>
<p><b>tag: </b>De acordo com as definicões retiradas das reuniões com os stakeholders, sobre tags é necessário armazenar: somente o seu nome, mas também utilizamos um ID como PK.</p>
<p><b>plataform: </b>De acordo com as definicões retiradas das reuniões com os stakeholders, sobre plataforma é necessário armazenar: somente o seu nome, mas também utilizamos um ID como PK.</p>
<p><b>actor: </b>De acordo com as definicões retiradas das reuniões com os stakeholders, sobre plataforma é necessário armazenar: somente o seu nome, mas também utilizamos um ID como PK.</p>
......@@ -44,182 +44,258 @@ A partir dos resultados obtidos, fizemos a seguinte escolha:
<p><b>user_movie: </b> Entidade de relacionamento feita para armazenar os filmes selecionados pelo usuário, linkando o idFilme com idUsuario e ainda armazenando o status referente à definição do relacionamento (já vi, quero assistir, etc.).</p>
<h3><b>Sobre atores: </b></h3>
<p><b>cast: </b> Entidade de relacionamento feita para armazenar os atores e diretores vinculados ao filme em questao.</p>
<h3><b>Sobre conquistas: </b></h3>
<p><b>achievement_movie: </b> Entidade de relacionamento feita para armazenar os filmes relacionadios à uma conquista específica.</p>
<p><b>achievement_tag: </b> Entidade de relacionamento feita para armazenar as tags relacionadas à uma conquista específica.</p>
<h2>Script SQL gerado a partir do modelo lógico (astah): </h2>
~~~sql
CREATE TABLE achievement (
idAchievement INT NOT NULL,
title VARCHAR(100) NOT NULL,
description VARCHAR(200) NOT NULL,
pathImage VARCHAR(100) NOT NULL,
targetScore INT NOT NULL
);
ALTER TABLE achievement ADD CONSTRAINT PK_achievement PRIMARY KEY (idAchievement);
CREATE TABLE actor (
idActor INT NOT NULL,
name VARCHAR(100)
);
ALTER TABLE actor ADD CONSTRAINT PK_actor PRIMARY KEY (idActor);
CREATE TABLE plataform (
idPlataform INT NOT NULL,
name VARCHAR(100) NOT NULL
);
ALTER TABLE plataform ADD CONSTRAINT PK_plataform PRIMARY KEY (idPlataform);
CREATE TABLE tag (
idTag INT NOT NULL,
name VARCHAR(100) NOT NULL
);
ALTER TABLE tag ADD CONSTRAINT PK_tag PRIMARY KEY (idTag);
CREATE TABLE user (
idUser VARCHAR(100) NOT NULL,
name VARCHAR(100) NOT NULL,
photoPath VARCHAR(100) NOT NULL,
randomness NUMERIC(3)
);
ALTER TABLE user ADD CONSTRAINT PK_user PRIMARY KEY (idUser);
CREATE TABLE user_achievement (
idUser VARCHAR(100) NOT NULL,
idAchievement INT NOT NULL,
currentScore INT NOT NULL
);
ALTER TABLE user_achievement ADD CONSTRAINT PK_user_achievement PRIMARY KEY (idUser,idAchievement);
CREATE TABLE achievement_tag (
idAchievement INT NOT NULL,
idTag INT NOT NULL
);
ALTER TABLE achievement_tag ADD CONSTRAINT PK_achievement_tag PRIMARY KEY (idAchievement,idTag);
CREATE TABLE movie (
idMovie INT NOT NULL,
title VARCHAR(100) NOT NULL,
originalTitle VARCHAR(100) NOT NULL,
synopsis VARCHAR(500) NOT NULL,
critic VARCHAR(500) NOT NULL,
curator VARCHAR(50) NOT NULL,
year NCHAR(4) NOT NULL,
pathBanner VARCHAR(100) NOT NULL,
duration INT
);
ALTER TABLE movie ADD CONSTRAINT PK_movie PRIMARY KEY (idMovie);
CREATE TABLE movie_plataform (
idPlataform INT NOT NULL,
idMovie INT NOT NULL
);
ALTER TABLE movie_plataform ADD CONSTRAINT PK_movie_plataform PRIMARY KEY (idPlataform,idMovie);
CREATE TABLE movie_tag (
idTag INT NOT NULL,
idMovie INT NOT NULL,
super BIT(1) NOT NULL,
weight INT NOT NULL
);
ALTER TABLE movie_tag ADD CONSTRAINT PK_movie_tag PRIMARY KEY (idTag,idMovie);
CREATE TABLE preference_plataform (
idUser VARCHAR(100) NOT NULL,
idPlataform INT NOT NULL
);
ALTER TABLE preference_plataform ADD CONSTRAINT PK_preference_plataform PRIMARY KEY (idUser,idPlataform);
CREATE TABLE preference_tag (
idUser VARCHAR(100) NOT NULL,
idTag INT NOT NULL,
pontuacaoTotal INT
);
ALTER TABLE preference_tag ADD CONSTRAINT PK_preference_tag PRIMARY KEY (idUser,idTag);
CREATE TABLE user_movie (
idUser VARCHAR(100) NOT NULL,
idMovie INT NOT NULL,
status BIT(2) NOT NULL
);
ALTER TABLE user_movie ADD CONSTRAINT PK_user_movie PRIMARY KEY (idUser,idMovie);
CREATE TABLE achievement_movie (
idMovie INT NOT NULL,
idAchievement INT NOT NULL
);
ALTER TABLE achievement_movie ADD CONSTRAINT PK_achievement_movie PRIMARY KEY (idMovie,idAchievement);
CREATE TABLE cast (
idMovie INT NOT NULL,
idActor INT NOT NULL,
director BIT(1)
);
ALTER TABLE cast ADD CONSTRAINT PK_cast PRIMARY KEY (idMovie,idActor);
ALTER TABLE user_achievement ADD CONSTRAINT FK_user_achievement_0 FOREIGN KEY (idUser) REFERENCES user (idUser);
ALTER TABLE user_achievement ADD CONSTRAINT FK_user_achievement_1 FOREIGN KEY (idAchievement) REFERENCES achievement (idAchievement);
ALTER TABLE achievement_tag ADD CONSTRAINT FK_achievement_tag_0 FOREIGN KEY (idAchievement) REFERENCES achievement (idAchievement);
ALTER TABLE achievement_tag ADD CONSTRAINT FK_achievement_tag_1 FOREIGN KEY (idTag) REFERENCES tag (idTag);
ALTER TABLE movie_plataform ADD CONSTRAINT FK_movie_plataform_0 FOREIGN KEY (idPlataform) REFERENCES plataform (idPlataform);
ALTER TABLE movie_plataform ADD CONSTRAINT FK_movie_plataform_1 FOREIGN KEY (idMovie) REFERENCES movie (idMovie);
ALTER TABLE movie_tag ADD CONSTRAINT FK_movie_tag_0 FOREIGN KEY (idTag) REFERENCES tag (idTag);
ALTER TABLE movie_tag ADD CONSTRAINT FK_movie_tag_1 FOREIGN KEY (idMovie) REFERENCES movie (idMovie);
ALTER TABLE preference_plataform ADD CONSTRAINT FK_preference_plataform_0 FOREIGN KEY (idUser) REFERENCES user (idUser);
ALTER TABLE preference_plataform ADD CONSTRAINT FK_preference_plataform_1 FOREIGN KEY (idPlataform) REFERENCES plataform (idPlataform);
ALTER TABLE preference_tag ADD CONSTRAINT FK_preference_tag_0 FOREIGN KEY (idUser) REFERENCES user (idUser);
ALTER TABLE preference_tag ADD CONSTRAINT FK_preference_tag_1 FOREIGN KEY (idTag) REFERENCES tag (idTag);
ALTER TABLE user_movie ADD CONSTRAINT FK_user_movie_0 FOREIGN KEY (idUser) REFERENCES user (idUser);
ALTER TABLE user_movie ADD CONSTRAINT FK_user_movie_1 FOREIGN KEY (idMovie) REFERENCES movie (idMovie);
ALTER TABLE achievement_movie ADD CONSTRAINT FK_achievement_movie_0 FOREIGN KEY (idMovie) REFERENCES movie (idMovie);
ALTER TABLE achievement_movie ADD CONSTRAINT FK_achievement_movie_1 FOREIGN KEY (idAchievement) REFERENCES achievement (idAchievement);
ALTER TABLE cast ADD CONSTRAINT FK_cast_0 FOREIGN KEY (idMovie) REFERENCES movie (idMovie);
ALTER TABLE cast ADD CONSTRAINT FK_cast_1 FOREIGN KEY (idActor) REFERENCES actor (idActor);
-- -----------------------------------------------------
-- Schema cine_clube
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `cine_clube` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci ;
USE `cine_clube` ;
-- -----------------------------------------------------
-- Table `cine_clube`.`tag`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cine_clube`.`tag` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL,
`created_At` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
`updated_At` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
PRIMARY KEY (`id`))
ENGINE = InnoDB
AUTO_INCREMENT = 2038
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci;
-- -----------------------------------------------------
-- Table `cine_clube`.`achievement`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cine_clube`.`achievement` (
`id` INT NOT NULL AUTO_INCREMENT,
`title` VARCHAR(255) NOT NULL,
`description` VARCHAR(255) NOT NULL,
`pathImage` VARCHAR(255) NOT NULL,
`targetScore` INT NOT NULL,
`created_At` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
`updated_At` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
`tagId` INT NULL DEFAULT NULL,
PRIMARY KEY (`id`),
CONSTRAINT `FK_7efd7420481a4d3cc3ee6649223`
FOREIGN KEY (`tagId`)
REFERENCES `cine_clube`.`tag` (`id`))
ENGINE = InnoDB
AUTO_INCREMENT = 8
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci;
CREATE INDEX `FK_7efd7420481a4d3cc3ee6649223` ON `cine_clube`.`achievement` (`tagId` ASC) VISIBLE;
-- -----------------------------------------------------
-- Table `cine_clube`.`actor`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cine_clube`.`actor` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL,
`created_At` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
`updated_At` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
PRIMARY KEY (`id`))
ENGINE = InnoDB
AUTO_INCREMENT = 91
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci;
-- -----------------------------------------------------
-- Table `cine_clube`.`movie`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cine_clube`.`movie` (
`id` INT NOT NULL AUTO_INCREMENT,
`title` VARCHAR(255) NOT NULL,
`originalTitle` VARCHAR(255) NOT NULL,
`synopsis` TEXT NOT NULL,
`critic` TEXT NOT NULL,
`curator` VARCHAR(255) NOT NULL,
`year` CHAR(4) NOT NULL,
`pathBanner` VARCHAR(255) NOT NULL,
`duration` INT NOT NULL,
`created_At` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
`updated_At` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
PRIMARY KEY (`id`))
ENGINE = InnoDB
AUTO_INCREMENT = 16
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci;
-- -----------------------------------------------------
-- Table `cine_clube`.`cast`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cine_clube`.`cast` (
`actorId` INT NOT NULL,
`movieId` INT NOT NULL,
`director` TINYINT NOT NULL,
`created_At` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
`updated_At` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
PRIMARY KEY (`actorId`, `movieId`),
CONSTRAINT `FK_d3ec511ff2f2564f167064a2ee0`
FOREIGN KEY (`actorId`)
REFERENCES `cine_clube`.`actor` (`id`),
CONSTRAINT `FK_dcacf1ce3d9cc81bc6427f0f6b3`
FOREIGN KEY (`movieId`)
REFERENCES `cine_clube`.`movie` (`id`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci;
CREATE INDEX `FK_dcacf1ce3d9cc81bc6427f0f6b3` ON `cine_clube`.`cast` (`movieId` ASC) VISIBLE;
-- -----------------------------------------------------
-- Table `cine_clube`.`platform`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cine_clube`.`platform` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL,
`created_At` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
`updated_At` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
PRIMARY KEY (`id`))
ENGINE = InnoDB
AUTO_INCREMENT = 3
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci;
-- -----------------------------------------------------
-- Table `cine_clube`.`movie_platform`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cine_clube`.`movie_platform` (
`platform` INT NOT NULL,
`movie` INT NOT NULL,
PRIMARY KEY (`platform`, `movie`),
CONSTRAINT `FK_3cbb19e5cd833475a475fe41c33`
FOREIGN KEY (`platform`)
REFERENCES `cine_clube`.`platform` (`id`)
ON DELETE CASCADE,
CONSTRAINT `FK_4d3c4c6ee96613bc4ef3673e771`
FOREIGN KEY (`movie`)
REFERENCES `cine_clube`.`movie` (`id`)
ON DELETE CASCADE)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci;
CREATE INDEX `IDX_3cbb19e5cd833475a475fe41c3` ON `cine_clube`.`movie_platform` (`platform` ASC) VISIBLE;
CREATE INDEX `IDX_4d3c4c6ee96613bc4ef3673e77` ON `cine_clube`.`movie_platform` (`movie` ASC) VISIBLE;
-- -----------------------------------------------------
-- Table `cine_clube`.`movie_tag`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cine_clube`.`movie_tag` (
`tagId` INT NOT NULL,
`movieId` INT NOT NULL,
`super` TINYINT NOT NULL,
`weight` INT NOT NULL,
`created_At` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
`updated_At` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
PRIMARY KEY (`tagId`, `movieId`),
CONSTRAINT `FK_31fc580c1847949cb41e65a34e0`
FOREIGN KEY (`tagId`)
REFERENCES `cine_clube`.`tag` (`id`),
CONSTRAINT `FK_c5c695f219479d1f627143836d0`
FOREIGN KEY (`movieId`)
REFERENCES `cine_clube`.`movie` (`id`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci;
CREATE INDEX `FK_c5c695f219479d1f627143836d0` ON `cine_clube`.`movie_tag` (`movieId` ASC) VISIBLE;
-- -----------------------------------------------------
-- Table `cine_clube`.`user`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cine_clube`.`user` (
`id` VARCHAR(255) NOT NULL,
`name` VARCHAR(255) NOT NULL,
`photoPath` VARCHAR(255) NOT NULL,
`randomness` INT NOT NULL,
`created_At` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
`updated_At` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
PRIMARY KEY (`id`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci;
-- -----------------------------------------------------
-- Table `cine_clube`.`user_achievement`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cine_clube`.`user_achievement` (
`userId` VARCHAR(255) NOT NULL,
`achievementId` INT NOT NULL,
`currentScore` INT NOT NULL,
`created_At` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
`updated_At` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
PRIMARY KEY (`userId`, `achievementId`),
CONSTRAINT `FK_2a418515c335cab7c5ba70c28b3`
FOREIGN KEY (`userId`)
REFERENCES `cine_clube`.`user` (`id`),
CONSTRAINT `FK_843ecd1965f1aac694875674a18`
FOREIGN KEY (`achievementId`)
REFERENCES `cine_clube`.`achievement` (`id`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci;
CREATE INDEX `FK_843ecd1965f1aac694875674a18` ON `cine_clube`.`user_achievement` (`achievementId` ASC) VISIBLE;
-- -----------------------------------------------------
-- Table `cine_clube`.`user_movie`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cine_clube`.`user_movie` (
`userId` VARCHAR(255) NOT NULL,
`movieId` INT NOT NULL,
`status` VARCHAR(255) NOT NULL,
`created_At` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
`updated_At` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
PRIMARY KEY (`userId`, `movieId`),
CONSTRAINT `FK_13836cd6ae56580075e1bd33967`
FOREIGN KEY (`userId`)
REFERENCES `cine_clube`.`user` (`id`),
CONSTRAINT `FK_3e731d371b40a498f72b3e57d9d`
FOREIGN KEY (`movieId`)
REFERENCES `cine_clube`.`movie` (`id`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci;
CREATE INDEX `FK_3e731d371b40a498f72b3e57d9d` ON `cine_clube`.`user_movie` (`movieId` ASC) VISIBLE;
-- -----------------------------------------------------
-- Table `cine_clube`.`user_tag`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cine_clube`.`user_tag` (
`userId` VARCHAR(255) NOT NULL,
`tagId` INT NOT NULL,
`totalPoint` INT NOT NULL,
`created_At` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
`updated_At` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
PRIMARY KEY (`userId`, `tagId`),
CONSTRAINT `FK_7cf25d8a11ccc18f04cbd8cb46c`
FOREIGN KEY (`userId`)
REFERENCES `cine_clube`.`user` (`id`),
CONSTRAINT `FK_d1c8261be4e02dc1df64636250c`
FOREIGN KEY (`tagId`)
REFERENCES `cine_clube`.`tag` (`id`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci;
CREATE INDEX `FK_d1c8261be4e02dc1df64636250c` ON `cine_clube`.`user_tag` (`tagId` ASC) VISIBLE;
~~~
\ No newline at end of file
Clone repository
  • Imagens
    • cineclube cronograma.pdf
  • Utilizando a wiki
    • adicionando imagens
    • escrevendo em markdown
    • wiki no editor de texto
  • arquitetura
  • banco_dados
  • configuracao
  • gp
  • Home
  • horarios
  • instalacao
  • mockups
  • processo
  • requisitos
  • sprints