Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gemaquejr/random-user
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.
https://github.com/gemaquejr/random-user
chai docker express jsvascript mocha mysql node-js npm react sequelize sinon typescript
Last synced: 10 days ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/gemaquejr/random-user
- Owner: gemaquejr
- License: mit
- Created: 2023-04-13T22:41:13.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-04-22T00:31:23.000Z (over 1 year ago)
- Last Synced: 2024-04-14T08:55:45.986Z (9 months ago)
- Topics: chai, docker, express, jsvascript, mocha, mysql, node-js, npm, react, sequelize, sinon, typescript
- Language: JavaScript
- Homepage:
- Size: 586 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Random User
Este é 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.
![preview](.github/preview.png)
O 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.
## 🚀 Tecnologia
### Backend:
- ⚡ Typescript é um superconjunto sintático estrito de JavaScript e adiciona tipagem estática opcional à linguagem.
- ⚡ 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.
- ⚡ 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.
- ⚡ Sequelize é um ORM para Node.js baseado em Promises, para os bancos PostgreSQL, MySQL, MariaDB, SQLite e MS SQL Server.
- ⚡ MySQL é um sistema de gerenciamento de banco de dados, que utiliza a linguagem SQL como interface.
- ⚡ Axios é um Cliente HTTP baseado em promessas para o navegador e Node.js
- ⚡ Eslint é um linter, uma ferramenta de análise estática, para as linguagens Javascript e Typescript
- ⚡ Nodemon é um utilitário que monitora as mudanças nos arquivos do seu projeto e reinicia automaticamente o servidor Node. js quando necessário.
- ⚡ Mocha é um Framework de teste JavaScript para programas Node.js.
- ⚡ 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.
- ⚡ Sinon é uma biblioteca que fornece diversas funcionalidades (como mocks, spies e stubs) que facilitam os desenvolvimentos de testes no JavaScript.
### Frontend:
- ⚡ React é uma biblioteca front-end JavaScript de código aberto com foco em criar interfaces de usuário em páginas web.
- ⚡ CSS é um mecanismo para adicionar estilos a uma página web, aplicado diretamente nas tags HTML ou ficar contido dentro das tags . Também é possível, adicionar estilos adicionando um link para um arquivo CSS que contém os estilos.
## ✋🏻 Pré-requisitos
- [NPM](https://www.npmjs.com/): O NPM é um poderoso gerenciador de pacotes utilizado para administrar as bibliotecas e frameworks utilizados em uma aplicação.
- [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.
- [MySQL](https://www.mysql.com/): Sistema de gerenciamento de banco de dados (SGBD) relacional, ou seja, que utiliza a linguagem SQL como interface.
- [Docker](https://www.docker.com/): Software de código aberto usado para implantar aplicativos dentro de containers virtuais.
## :hammer_and_wrench: Configuração do Projeto.
1. Clone o repositório do projeto em seu ambiente local usando o seguinte comando:
- `git clone [email protected]:gemaquejr/random-user.git`
2. 🐳 Executar o Projeto
* Na pasta app do projeto, suba o container utilizando o docker-compose.yml. Utilize o comando:
- `npm run compose:up`
3. Acesso ao Frontend* 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.
4. Acesso à API
* 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.
5. Contribuição
* 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.
6. Licença
* Este projeto é licenciado sob a Licença MIT. Consulte o arquivo [MIT](./LICENSE) para obter mais informações.