Este projeto, desenvolvido por Lucas Monteiro Freitas, é uma aplicação que permite aos usuários explorar uma coleção de livros utilizando dados de uma API pública, como a Open Library API. Os usuários podem buscar livros por título ou autor, favoritar os livros de sua escolha, adicionar anotações e avaliações pessoais e organizar seus livros favoritos por tags e notas.
- Descrição
- Funcionalidades
- Pré-requisitos
- Instalação
- Configuração
- Como executar
- Comandos importantes
- Estrutura do projeto
- Contribuindo
- Detalhamento do projeto
- Manual do usuário
- Licença
O Buscador de Livros é uma aplicação web que permite aos usuários buscar livros através da API Open Library, favoritar seus livros preferidos e fazer anotações e avaliações em seus livros favoritos. O projeto é desenvolvido utilizando Angular no frontend e Node.js com SQLite no backend.
- RF1 - Busca de livros por título ou autor.
- RF2 - Exibição das informações relevantes dos livros, como título, autor(es), descrição e capa.
- RF3 - Favoritar livros e adicionar notas pessoais, incluindo uma avaliação (nota de 1 a 5) e tags.
- RF4 - Listar e gerenciar os livros favoritados.
- RF5 - Filtrar livros favoritos por notas e tags.
Os seguintes softwares devem estar instalados em sua máquina.
- Node.js: Certifique-se de ter o Node.js instalado (versão recomendada: v14 ou superior).
- npm: Certifique-se de ter o npm instalado (v6 ou superior).
- Angular CLI: Instale o Angular CLI globalmente em sua máquina.
- SQLite3: Instale o SQLite3.
-
clone o repositório do projeto:
git clone https://github.com/LucasMF1/BuscaLivro.git cd BuscaLivro/BuscadorLivros.app
-
Instalação dos pré-requisitos: (No Ubuntu)
- Node.js: como instalar
sudo apt update sudo apt install -y nodejs
- npm: Como instalar
sudo apt install npm
- Angular CLI: Como instalar
sudo npm install -g @angular/cli
- SQLite3: Como instalar
sudo apt install sqlite
-
Navegue para o diretório do frontend:
cd BuscadorLivros.app
-
Instale as dependências do frontend:
npm install
-
Navegue para o diretório do backend:
cd backend
-
Instale as dependências do backend:
npm install
-
Inicialize o banco de dados:
npm run init-db
Existem dois serviços principais no projeto: frontend (Angular) e backend (Node.js/Express com SQLite). Veja como executá-los :
-
Inicie o servidor Node.js/Express para a API
npm start
-
O projeto Angular será acessível, via navegador, em http://localhost:4200.
-
Inicie o servidor Node.js/Express para a API:
npm run start
-
O backend estará rodando em http://localhost:3000.
- npm start: Inicia o servidor de desenvolvimento Angular.
- npm run start: Inicia o servidor Node.js/Express (backend).
- npm run init-db: Inicializa o banco de dados SQLite.
- npm run lint: Roda o linter para verificar a qualidade do código.
BuscadorLivros.app/ # Raiz do projeto
── backend/ # Diretório do backend (Node.js, Express, SQLite)
│
├── src/ # Diretório principal do frontend (Angular)
│ ├── app/ # Diretório do código-fonte da aplicação
│ │ ├── favorites/ # Módulo/componentes de favoritos
│ │ │
│ │ ├── login/ # Módulo/componentes de login
│ │ │
│ │ ├── register/ # Módulo/componentes de registro de usuário
│ │ │
│ ├── index.html # Página HTML principal
│ ├── main.ts # Arquivo principal do Angular
│ ├── styles.css # Estilos globais
│
├── package.json # Configurações e scripts do frontend
├── README.md # Documentação do projeto
├── LICENSE # Arquivo de licença
- src/app: Contém os componentes e serviços do Angular.
- server.js: Backend usando Node.js e Express.
- favorites.db: Arquivo de banco de dados SQLite para armazenar favoritos e usuários.
- package.json: Lista as dependências e scripts npm.
Contribuições são bem-vindas! Siga os passos abaixo para contribuir:
- Faça um fork do projeto (no github clique em fork).
- Crie uma branch para sua modificação (git checkout -b feature/nova-funcionalidade).
- Commit suas mudanças (git commit -m 'Adiciona nova funcionalidade').
- Push para a branch (git push origin feature/nova-funcionalidade).
- Abra um Pull Request.
Certifique-se de seguir os padrões de código e rodar o linter com npm run lint antes de enviar sua contribuição.
O detalhamento do projeto está no arquivo: Desafio Dev Full Stack.pdf.
O manual do usuário do sistema está no arquivo: Manual do usuário.pdf
Este projeto está sob a licença MIT. Consulte o arquivo LICENSE para mais detalhes.