{"id":25428593,"url":"https://github.com/rodrigorvsn/devlearn","last_synced_at":"2026-04-10T13:31:34.908Z","repository":{"id":48873786,"uuid":"382624291","full_name":"RodrigoRVSN/devlearn","owner":"RodrigoRVSN","description":null,"archived":false,"fork":false,"pushed_at":"2021-07-07T16:00:07.000Z","size":621,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-20T13:49:48.960Z","etag":null,"topics":["nodejs","postgres","react"],"latest_commit_sha":null,"homepage":"https://devlearn-rodrigorvsn.vercel.app/","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/RodrigoRVSN.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}},"created_at":"2021-07-03T13:37:32.000Z","updated_at":"2021-08-16T18:57:34.000Z","dependencies_parsed_at":"2022-09-02T09:22:42.705Z","dependency_job_id":null,"html_url":"https://github.com/RodrigoRVSN/devlearn","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RodrigoRVSN/devlearn","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RodrigoRVSN%2Fdevlearn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RodrigoRVSN%2Fdevlearn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RodrigoRVSN%2Fdevlearn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RodrigoRVSN%2Fdevlearn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RodrigoRVSN","download_url":"https://codeload.github.com/RodrigoRVSN/devlearn/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RodrigoRVSN%2Fdevlearn/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31645215,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T07:40:12.752Z","status":"ssl_error","status_checked_at":"2026-04-10T07:40:11.664Z","response_time":98,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["nodejs","postgres","react"],"created_at":"2025-02-17T01:39:14.406Z","updated_at":"2026-04-10T13:31:34.714Z","avatar_url":"https://github.com/RodrigoRVSN.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![image](https://user-images.githubusercontent.com/75763403/124519794-c5632300-ddc0-11eb-86d9-963e36520045.png)\n\n\n# 💻 Projeto\n\n##### Neste projeto, fiz uma API REST com Node e também desenvolvi o Front-end da aplicação com o uso de React. O intuíto é mostrar os módulos disponíveis e suas respectivas aulas e, com autenticação de administrador, há a possibilidade de adicionar, editar e remover aulas e módulos.\n\n##### É possível realizar o cadastro de novos usuários que serão imediatamente administradores capazes de fazer as alterações específicas.\n\nDisponível em: https://devlearn-rodrigorvsn.vercel.app/\n\n---\n\n# 🛠 Ferramentas Utilizadas\n\n#### Programas Utilizados\n\n- Visual Studio Code (IDE)\n- Microsoft Edge (navegador)\n- Beekeper Studio (verificar o estado do banco de dados)\n- Insomnia (testar as requisições)\n\n#### Front-end\n\n- React (TS)\n- Material UI\n- React-hook-form\n- Axios\n- React-router-dom\n\n#### Back-end\n\n- Node (TS)\n- Postgres (Banco de Dados ⚠️ Precisa instalar o driver)\n- TypeORM (ORM para facilitar o controle do BD)\n- Express\n- Bcrypt (encriptar a senha)\n- JSON web token\n- CORS (para poder utilizar a api no web)\n\n---\n\n# 🚀 Como executar\n\n- Ao clonar o repositório, ou baixar o zip deste, entre, através do terminal, na pasta respectiva ao backend e utilize o comando `yarn dev` para inicializar o servidor backend local (localhost:4000 - Necessário instalar o \u003ca href=\"https://www.postgresql.org/\"\u003edriver do Postgres\u003c/a\u003e). Para sincronizar o banco de dados, utilize o comando `yarn typeorm scheme:sync` com o pgadmin4 aberto.\n\n- As informações do banco de dados estão disponíveis no arquivo ormconfig.json, dentro da pasta do back-end.\n\n- Com o servidor em execução você deve ir a pasta do front-end e utilizar o comando `yarn start` para dar início ao front-end local (localhost:3000). Você também pode utilizar o front-end hospedado na vercel disponível em https://devlearn-rodrigorvsn.vercel.app/.\n\n- Com o servidor e o banco de dados ativos e com a página front-end aberta em seu navegador, já é possível utilizar o site.\n\n- Você pode cadastrar usuários, fazer o login do usuário e, ao ter este login autenticado, o token é salvo no localstorage. Com isso, o acesso à página de administração é liberado e assim é possível fazer o CRUD de aulas e módulos.\n\n---\n\n# ⚠️ Possíveis erros e alertas\n\n- Se você tiver notado que a tela está carregando infinitamente, provavelmente houve algum erro no banco de dados. Neste caso, deve-se interromper o servidor back-end através do terminal e iniciá-lo novamente. Após isso, basta atualizar a página no navegador.\n- Para ver as alterações feitas na página de administração, você deve atualizar a página do navegador.\n\n---\n\n##### Feito com 💓 por \u003ca href=\"https://www.linkedin.com/in/rodrigovictorrvsn/\"\u003eRodrigo Victor\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frodrigorvsn%2Fdevlearn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frodrigorvsn%2Fdevlearn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frodrigorvsn%2Fdevlearn/lists"}