REPOSITORY OVERVIEWLive repository statistics
★ 8Stars
⑂ 3Forks
◯ 3Open issues
◉ 8Watchers
33/100
OPENREPOHUB HEALTH SIGNALLimited signals
A transparent discovery signal based on current public GitHub metadata.
Recent activity35% weight
10 Community adoption25% weight
17 Maintenance state20% weight
40 License clarity10% weight
100 Project information10% weight
75 This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
README preview

- Sobre
- Funcionalidades
- Tecnologias usadas
- Banco de dados
- End-points da api
- Testes
- Instalação
- Licensa
Sobre
Este projeto tem como objetivo criar uma aplicação web completa para gerenciar o acervo, empréstimos e devoluções de livros em uma biblioteca. A aplicação conta com funcionalidades de login cadastro de usuários, cadastro de livros e bibliotecários.
Durante o meu aprendizado em Vue.js, percebi que o Vue.js carrega a página em branco antes de carregar o JavaScript e, consequentemente, o conteúdo da página. Após pesquisar sobre soluções para este problema, descobri o Server Side Rendering (SSR). Decidi utilizar o Nuxt, um framework baseado em Vue, para facilitar a renderização no lado do servidor e aplicar meus novos conhecimentos.
Funcionalidades
Tecnologias usadas
- Front-End
- Nuxt
- Vue.js
- Javascript
- Html
- CSS
- Pinia
- Back-End
- Python
- Django rest framework
- uWsgi
- Nginx
- SqlLite (Pretendo trocar no futuro para o Postgresql)
Banco de dados
Diagrama do banco de dados relacional
End-points da Api
Cadastro de usuario
- POST /cadastro/ End-poit para cadastro de usuario
Autenticação JWT(JSON Web Token)
- POST /token/ Para efetuar o login
- POST /token/refresh/ End-point para renovar o tokens
- POST /VerifyAuthenticated/ End-point para verificar se o usuarios está autenticado
User autenticado
Permissões: Apenas usuarios autenticados.
- GET /user/ Retorna dados do usuario autenticado do request
- PUT /user/{id}/ Para editar dados do usuario autenticado do resquest
- PATCH /user/{id}/Para editar parcialmente dados do usario autenticado do resquest
- DELETE /user/{id}/ Para deletar usuario logado
Gerenciamento de usuarios
Permissões: Apenas usuarios admins tem acesso.
- GET /all_users/ Para visualizar todos os usuarios do sistema
- POST /all_users/ Para cadastro de um novo usuario
- GET /all_users/{id}/ Para recuperar um usuario pelo id
- PUT /all_users/{id}/ Para alterar dados de um usuario
- PATCH /all_users/{id}/ Para alterar parcialmente dados de um usuario
- DELETE /all_users/{id}/ Para deletar um usuario
Livros
Permissões: Cadastro, editar, excluir permitido apenas para admins. Usuarios comum permitdo apenas visualização.
- GET /livros/ Para visualizar todos os livros
- POST /livros/ Para cadastrar um novo livro
- GET /livros/{id}/ Para recuperar um livro pelo id
- PUT /livros/{id}/ Para editar dados de um livro
- PATCH /livros/{id}/ Para editar parcialmente dados de um livro
- DELETE /livros/{id}/ Para deletar um livro
- GET /novoslivros/ Retorna os cinco ultimos livros retornado pelo sistema
- GET /recomendacao/ Retorna cinco livros aleatorios
Empréstimo
Permissões: Cadastro, editar, excluir permitido apenas para admins. Usuarios comum permitdo apenas visualização.
- GET /emprestimos/ Para todos visualizar emprestimos do sistema
- POST /emprestimos/ Para cadastrar um novo emprestimo
- GET /emprestimos/{id}/ Para recuperar um emprestimo especifico
- PUT /emprestimos/{id}/ Para editar um emprestimo
- PATCH /emprestimos/{id}/ Para editar parciamente um emprestimo
- DELETE /emprestimos/{id}/ Para deletar em emprestimo
- GET /usuarios/{id}/emprestimos/ Retorna todos os emprestimos relacionado ao usuario
Estrutura do servidor / Projeto
Em andamento
Testes
Para executar testes unitários entre na pasta ApiBiblioteca e digite o comando:python manage.py test
Instalação
Requisitos
- Python 3.11.4
- Venv
- Pip
- Node 18.16.0
Instalação Front-End
- Entre na pasta biblioteca pelo terminal.
- Instale as dependências com o comando npm install .
- Crie um arquivo .env para configurar a url do servidor, e adicione a seguinte linha no arquivo. NUXT_PUBLIC_API_BASE_URL = "http://127.0.0.1:8000/" Essa linha poderá mudar dependendo do seu computador.
- Para inciar o servidor: npm run dev.
Instalação Back-end
- Entre na pasta ApiBiblioteca pelo terminal
- Digite: python -m venv env, para criar um ambiente virtual para instalar as bibliotecas
- Ative o ambiente virtual: source env/bin/activate
- Agora digite: pip install -r requirements.txt, para instalar as bibliotecas
- E finalmente rode o projeto:python manage.py runserver
- Para cadastrar 55 livros apartir do backup python manage.py loaddata livros_backup.json
Licensa
MIT