{"id":18605251,"url":"https://github.com/gemaquejr/random-user","last_synced_at":"2025-12-30T19:18:35.022Z","repository":{"id":152933664,"uuid":"627644576","full_name":"gemaquejr/random-user","owner":"gemaquejr","description":"Cards de usuários criado através de uma API, armazenando os dados num banco de dados MySQL, com um servidor node.js e uma interface em React.","archived":false,"fork":false,"pushed_at":"2023-04-22T00:31:23.000Z","size":600,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-14T08:55:45.986Z","etag":null,"topics":["chai","docker","express","jsvascript","mocha","mysql","node-js","npm","react","sequelize","sinon","typescript"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gemaquejr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-04-13T22:41:13.000Z","updated_at":"2023-04-21T01:33:41.000Z","dependencies_parsed_at":"2023-07-02T16:15:32.537Z","dependency_job_id":null,"html_url":"https://github.com/gemaquejr/random-user","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemaquejr%2Frandom-user","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemaquejr%2Frandom-user/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemaquejr%2Frandom-user/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemaquejr%2Frandom-user/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gemaquejr","download_url":"https://codeload.github.com/gemaquejr/random-user/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254594834,"owners_count":22097448,"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":["chai","docker","express","jsvascript","mocha","mysql","node-js","npm","react","sequelize","sinon","typescript"],"created_at":"2024-11-07T02:20:28.895Z","updated_at":"2025-12-30T19:18:34.975Z","avatar_url":"https://github.com/gemaquejr.png","language":"JavaScript","readme":"# Random User\n\nEste é um projeto fullstack que consiste em um backend, um frontend e um banco de dados. O projeto consome dados de uma API externa e exibe os dados em uma interface de usuário amigável.\n\n![preview](.github/preview.png)\n\nO objetivo deste projeto é utilizar uma API externa e gratuita (https://randomuser.me/api/) para buscar informações de dados aleatórios de usuários, armazenar esses dados em um banco de dados MySQL utilizando o Sequelize ORM no backend desenvolvido em Node.js com TypeScript e Express, e exibi-los no frontend desenvolvido em React com CSS.\n\n## 🚀 Tecnologia\n\n### Backend:\n\n- ⚡ Typescript é um superconjunto sintático estrito de JavaScript e adiciona tipagem estática opcional à linguagem.\n\n- ⚡ Node.js é um ambiente de execução JavaScript que permite executar aplicações desenvolvidas com a linguagem de forma autônoma, sem depender de um         navegador.\n\n- ⚡ Express é um framework para aplicativo da web do Node.js mínimo e flexível que fornece um conjunto robusto de recursos para aplicativos web e móvel.\n\n- ⚡ Sequelize é um ORM para Node.js baseado em Promises, para os bancos PostgreSQL, MySQL, MariaDB, SQLite e MS SQL Server.\n\n- ⚡ MySQL é um sistema de gerenciamento de banco de dados, que utiliza a linguagem SQL como interface.\n\n- ⚡ Axios é um Cliente HTTP baseado em promessas para o navegador e Node.js\n\n- ⚡ Eslint é um linter, uma ferramenta de análise estática, para as linguagens Javascript e Typescript\n\n- ⚡ Nodemon é um utilitário que monitora as mudanças nos arquivos do seu projeto e reinicia automaticamente o servidor Node. js quando necessário.\n\n- ⚡ Mocha é um Framework de teste JavaScript para programas Node.js.\n\n- ⚡ Chai é uma biblioteca de afirmação BDD/TDD para Node e para o navegador, que pode ser equiparada com qualquer framework de testes de JavaScript.\n\n- ⚡ Sinon é uma biblioteca que fornece diversas funcionalidades (como mocks, spies e stubs) que facilitam os desenvolvimentos de testes no JavaScript.\n\n### Frontend:\n\n- ⚡ React é uma biblioteca front-end JavaScript de código aberto com foco em criar interfaces de usuário em páginas web.\n\n- ⚡ CSS é um mecanismo para adicionar estilos a uma página web, aplicado diretamente nas tags HTML ou ficar contido dentro das tags \u003cstyle\u003e. Também é         possível, adicionar estilos adicionando um link para um arquivo CSS que contém os estilos.\n\n## ✋🏻 Pré-requisitos\n\n- [NPM](https://www.npmjs.com/): O NPM é um poderoso gerenciador de pacotes utilizado para administrar as bibliotecas e frameworks utilizados em uma        aplicação.\n\n- [Node.js](https://nodejs.org/en): Software de código aberto, multiplataforma, baseado no interpretador V8 do Google e que permite a execução de códigos     JavaScript fora de um navegador web.\n\n- [MySQL](https://www.mysql.com/): Sistema de gerenciamento de banco de dados (SGBD) relacional, ou seja, que utiliza a linguagem SQL como interface.\n\n- [Docker](https://www.docker.com/): Software de código aberto usado para implantar aplicativos dentro de containers virtuais.\n\n## :hammer_and_wrench: Configuração do Projeto.\n\n1. Clone o repositório do projeto em seu ambiente local usando o seguinte comando:\n\n  - `git clone git@github.com:gemaquejr/random-user.git`\n\n2. 🐳 Executar o Projeto\n\n  * Na pasta app do projeto, suba o container utilizando o docker-compose.yml. Utilize o comando:\n\n    - `npm run compose:up`\n    \n3. Acesso ao Frontend\n\n * O Frontend estará disponível em http://localhost:3000 após a execução do projeto. Você pode acessar o aplicativo em seu navegador e visualizar os        resultados.\n\n4. Acesso à API\n\n * A API do backend estará disponível em http://localhost:3001/users após a execução do projeto. Você pode usar ferramentas como Insomnia, Postman ou        até mesmo o navegador para acessar a API e visualizar os resultados.\n\n5. Contribuição\n\n  * Este projeto é de código aberto e aceita contribuições. Se você deseja contribuir para o projeto, sinta-se à vontade para fazer um fork e enviar um       pull request com suas alterações. Certifique-se de seguir as melhores práticas de codificação, incluindo a execução de testes e a revisão do código       antes de enviar as alterações.\n\n6. Licença\n\n  * Este projeto é licenciado sob a Licença MIT. Consulte o arquivo [MIT](./LICENSE) para obter mais informações.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgemaquejr%2Frandom-user","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgemaquejr%2Frandom-user","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgemaquejr%2Frandom-user/lists"}