CRUD simples de vídeos desenvolvido com Node.js para fins de aprendizagem. O banco de dados utilizado foi o PostgreSQL.
-
Faça o clone do repositório:
$ git clone https://github.com/Pedro-Manoel/node-crud-videos.git
-
Entre na pasta do projeto:
$ cd node-crud-videos
-
Configure a conexão com o PostgreSQL no arquivo
.env
, atribuindo o devido valor as seguintes variáveis:TYPEORM_HOST = TYPEORM_USERNAME = TYPEORM_PASSWORD = TYPEORM_DATABASE = TYPEORM_PORT =
-
Execute o seguinte comando para fazer o download das dependências da aplicação:
$ yarn
-
Execute o seguinte comando para criar as tabelas no banco:
$ yarn typeorm migration:run
-
Execute o seguinte comando para executar a aplicação:
$ yarn dev
Um demostrativo do funcionamento das rotas da aplicação utilizando dados fictícios. As rotas são as seguintes:
-
POST : rota para criar uma categoria.
-
Request
{ "name": "Comédia", "description": "Vídeos engraçados e divertidos" }
-
Response
{ "id": "fe32b49a-2e13-4188-bdc4-bef512013adc", "name": "Comédia", "description": "Vídeos engraçados e divertidos", "create_at": "2022-01-12T14:41:29.129Z" }
-
-
GET : rota para listar todas as categorias cadastradas.
-
Response
[ { "id": "fe32b49a-2e13-4188-bdc4-bef512013adc", "name": "Comédia", "description": "Vídeos engraçados e divertidos", "create_at": "2022-01-12T14:41:29.129Z" }, { "id": "b3f4471a-f3c3-4d8a-a4a3-e4483cfa3dac", "name": "Drama", "description": "Vídeos envolventes e reflexivos", "create_at": "2022-01-12T14:42:23.071Z" }, { "id": "a9cd6be4-f9b0-473e-ae3c-864f55f27e57", "name": "Terror", "description": "Vídeos que dão medo e pavor", "create_at": "2022-01-12T14:43:03.644Z" } ]
-
-
GET : rota para retornar uma categoria já cadastrada.
-
Response
{ "id": "fe32b49a-2e13-4188-bdc4-bef512013adc", "name": "Comédia", "description": "Vídeos engraçados e divertidos", "create_at": "2022-01-12T14:41:29.129Z" }
-
-
PUT : rota para atualizar uma categoria já cadastrada.
-
Request
{ "name": "Comédia romântica", "description": "Vídeos engraçados e divertidos com romance" }
-
Response
{ "id": "fe32b49a-2e13-4188-bdc4-bef512013adc", "name": "Comédia romântica", "description": "Vídeos engraçados e divertidos com romance", "create_at": "2022-01-12T14:41:29.129Z" }
-
-
DELETE : rota para remover uma categoria já cadastrada.
-
POST: rota para criar um vídeo.
-
Request
{ "name": "Caindo na lama", "description": "Uma pessoa caindo na lama", "duration": 25, "category_id": "fe32b49a-2e13-4188-bdc4-bef512013adc" }
-
Response
{ "id": "a190e9ef-614f-40fa-9b96-f76414e52ee8", "name": "Caindo na lama", "description": "Uma pessoa caindo na lama", "duration": 25, "category_id": "fe32b49a-2e13-4188-bdc4-bef512013adc", "create_at": "2022-01-12T14:14:14.573Z" }
-
-
GET: rota para listar todos os vídeos cadastrados.
-
Response
[ { "id": "a190e9ef-614f-40fa-9b96-f76414e52ee8", "name": "Caindo na lama", "description": "Uma pessoa caindo na lama", "duration": "25", "category_id": "fe32b49a-2e13-4188-bdc4-bef512013adc", "create_at": "2022-01-12T15:03:51.594Z", "category": { "id": "fe32b49a-2e13-4188-bdc4-bef512013adc", "name": "Comédia", "description": "Vídeos engraçados e divertidos", "create_at": "2022-01-12T14:41:29.129Z" } }, { "id": "2574c661-186c-4cbf-b07e-1f6466501105", "name": "Fantasma", "description": "Uma criatura estranha aparecendo a noite", "duration": "32", "category_id": "a9cd6be4-f9b0-473e-ae3c-864f55f27e57", "create_at": "2022-01-12T15:03:51.594Z", "category": { "id": "a9cd6be4-f9b0-473e-ae3c-864f55f27e57", "name": "Terror", "description": "Vídeos que dão medo e pavor", "create_at": "2022-01-12T14:43:03.644Z" } } ]
-
-
GET: rota para retornar um vídeo já cadastrado.
-
Response
{ "id": "a190e9ef-614f-40fa-9b96-f76414e52ee8", "name": "Caindo na lama", "description": "Uma pessoa caindo na lama", "duration": "25", "category_id": "fe32b49a-2e13-4188-bdc4-bef512013adc", "create_at": "2022-01-12T15:03:51.594Z", "category": { "id": "fe32b49a-2e13-4188-bdc4-bef512013adc", "name": "Comédia", "description": "Vídeos engraçados e divertidos", "create_at": "2022-01-12T14:41:29.129Z" } }
-
-
PUT: rota para atualizar um vídeo já cadastrado.
-
Request
{ "name": "Caindo na lama e sujando a cara", "description": "Uma pessoa caindo na lama e ficando com a cara toda suja", "duration": 25, "category_id": "fe32b49a-2e13-4188-bdc4-bef512013adc" }
-
Response
{ "id": "a190e9ef-614f-40fa-9b96-f76414e52ee8", "name": "Caindo na lama e sujando a cara", "description": "Uma pessoa caindo na lama e ficando com a cara toda suja", "duration": 25, "category_id": "fe32b49a-2e13-4188-bdc4-bef512013adc", "create_at": "2022-01-12T15:03:51.594Z" }
-
-
DELETE: rota para remover um vídeo já cadastrado.
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.