{"id":19031259,"url":"https://github.com/vitor-silva27/guiadocampus-backend","last_synced_at":"2026-05-03T05:30:21.475Z","repository":{"id":213883247,"uuid":"715585093","full_name":"Vitor-Silva27/guiadocampus-backend","owner":"Vitor-Silva27","description":"API do 'Guia do Campus'! A API proporciona acesso fácil a informações essenciais sobre departamentos, salas de aula, serviços, horários no IFPI campus pedro II, simplificando a experiência dos alunos, professores e funcionários.","archived":false,"fork":false,"pushed_at":"2024-03-11T14:49:23.000Z","size":227,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-02T04:14:32.351Z","etag":null,"topics":["docker","nodejs","postgresql","prisma-orm","rest-api","swagger","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Vitor-Silva27.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-07T12:47:57.000Z","updated_at":"2024-03-11T14:49:07.000Z","dependencies_parsed_at":"2024-11-08T21:24:23.785Z","dependency_job_id":"c3fe4185-33ae-4e71-8a47-6a6199e0e718","html_url":"https://github.com/Vitor-Silva27/guiadocampus-backend","commit_stats":null,"previous_names":["vitor-silva27/guiadocampus-backend"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vitor-Silva27%2Fguiadocampus-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vitor-Silva27%2Fguiadocampus-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vitor-Silva27%2Fguiadocampus-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vitor-Silva27%2Fguiadocampus-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Vitor-Silva27","download_url":"https://codeload.github.com/Vitor-Silva27/guiadocampus-backend/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240080550,"owners_count":19744885,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","nodejs","postgresql","prisma-orm","rest-api","swagger","typescript"],"created_at":"2024-11-08T21:22:29.100Z","updated_at":"2026-05-03T05:30:21.429Z","avatar_url":"https://github.com/Vitor-Silva27.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://live.staticflickr.com/65535/53415183739_0678a49b6d.jpg\" alt=\"Logo\"\u003e\n  \n\n  \u003ch3 align=\"center\"\u003eGuia do campus - API\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/Vitor-Silva27/guiadocampus-frontend\"\u003eView front end repo\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#roadmap\"\u003eRoadmap\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#acknowledgments\"\u003eAcknowledgments\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About The Project\n\n\u003cimg src=\"https://live.staticflickr.com/65535/53415030818_2398366cd4_z.jpg\" /\u003e\n\nAt IFPI Campus Pedro II, where I study, I noticed that despite having good infrastructure, internal communication faced challenges. Therefore, I developed a project using technologies such as QR codes and a website to enhance access to information about rooms and departments. The goal was to make communication more efficient and accessible, especially for students.\n\nThe basic idea is to distribute QR codes throughout the campus. Each department would have a QR code on the door that leads to the website's page for that specific department. This way, students would have instant access to information. If a student is not on campus, they can also access the website from home.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n### Built With\n\n#### Backend Technologies: \n\n* \u003ca href=\"https://nodejs.org/en\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/node.js-6DA55F?style=for-the-badge\u0026logo=node.js\u0026logoColor=white\"\u003e\n    \u003c/a\u003e\n* \u003ca href=\"https://nestjs.com/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/nestjs-%23E0234E.svg?style=for-the-badge\u0026logo=nestjs\u0026logoColor=white\"\u003e\n    \u003c/a\u003e\n* \u003ca href=\"https://www.typescriptlang.org/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge\u0026logo=typescript\u0026logoColor=white\"\u003e\n    \u003c/a\u003e\n* \u003ca href=\"https://www.postgresql.org/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/postgres-%23316192.svg?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white\"\u003e\n    \u003c/a\u003e\n* \u003ca href=\"https://www.prisma.io/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Prisma-3982CE?style=for-the-badge\u0026logo=Prisma\u0026logoColor=white\"\u003e\n    \u003c/a\u003e\n* \u003ca href=\"https://aws.amazon.com\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/AWS-%23FF9900.svg?style=for-the-badge\u0026logo=amazon-aws\u0026logoColor=white\"\u003e\n    \u003c/a\u003e\n* \u003ca href=\"https://www.docker.com/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge\u0026logo=docker\u0026logoColor=white\"\u003e\n    \u003c/a\u003e\n* \u003ca href=\"https://swagger.io/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/-Swagger-%23Clojure?style=for-the-badge\u0026logo=swagger\u0026logoColor=white\"\u003e\n    \u003c/a\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- GETTING STARTED --\u003e\n## Getting Started\n1. first you will need a .env file with the values:\n```\nPORT=XXXX (The port you want to run your application)\nDATABASE_URL=(the url of a postgres database)\nTOKEN_KEY=(a secret token to generate jwt)\nS3_BUCKET=(the name of a bucket in aws s3)\nS3_REGION=(the region of you aws s3 server)\n\nS3_ACCESS_KEY=(the access key to your aws)\nS3_SECRET=(the secret access key to your aws)\n```\n2. now to install the dependencies and run the app you will have two choices, using docker or without docker\n\n#### with docker is quite easy. you have to run:\n\n* docker\n    ```sh\n    docker build --pull --rm -f \"Dockerfile\" -t guiadocampus:latest \".\"\n    ```\n    run migrations to setup your database\n    ```sh\n    npx prisma migrate deploy\n    ```\n    when it finish just run:\n    ```sh\n    docker run -p 8080:80 guiadocampus:latest\n    ```\nthen access your port 8080\n\n#### if you don't have docker you will need node.js\n* npm\n  ```sh\n    npm i\n  ```\n  run migrations to setup your database\n    ```sh\n    npx prisma migrate deploy\n    ```\nand to run:\n\n* for development:\n    ```sh\n    npm run start:dev\n    ```\n\n* for production:\n    ```sh\n    npm run build\n    ```\n    ```sh\n    npm run start\n    ```\n\n\n\u003c!-- USAGE EXAMPLES --\u003e\n## Usage\n\nto fully understand the usage see the [Documentation](https://guiadocampus-jln105qc.b4a.run/api)\n\n\u003c!-- LICENSE --\u003e\n## License\n\nDistributed under the MIT License. See `LICENSE.txt` for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitor-silva27%2Fguiadocampus-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvitor-silva27%2Fguiadocampus-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitor-silva27%2Fguiadocampus-backend/lists"}