GithubHelp home page GithubHelp logo

desafio4linux's Introduction

desafio4linux

Projeto com proposta educacional

O projeto é tem como linguagens Python(Back-end) utilizando o DJANGO REST e JavaScript(Front-end) utilizando ReactJs

A API do python está no localhost e apresenta duas rotas

http://127.0.0.1:5000/profile ou http://localhost:5000/profile
http://127.0.0.1:5000/login ou http://localhost:5000/login

O servidor frontend está está no localhost e apresenta duas rotas

http://127.0.0.1:1337/ ou http://localhost:80/
http://127.0.0.1:1337/login ou http://localhost:80/login

As autenticações estão feitas devidamente como pedido no roteiro

Para o pessoal da 4linux:
-A pasta do projeto foi divida em três subpastas

-API
1.Nessa pasta foi feito o backend da API em Django REST
2.Para validação do login utilizei uma Biblioteca chamada IsAuthenticated, essa biblioteca faz todo o processo de autenticação de login retornando um chave Token utilizei essa biblioteca devido a sua facilidade e eficácia para trabalhar com autenticação
3.Montei uma metado na views para buscar os dados da API publica e para pegar esses dados apenas se estivesse autenticado

-Desafio
1.Aqui contem os arquivos de configuração da API

-frontend
1.Todo o front foi feito em React, criei duas páginas como solicitado, para acessar a página principal é necessário estar com o token armazenado no localstorage do navegador toda vez que entrar na pagina de login e efetuar com sucesso o token é adicionado no localstorage assim podendo acessar a página principal.
2.Nota que ao entrar na página principal fiz limpei o localstorage para que toda vez seja necessário fazer o login, isso foi feito de proposito para uma "segurança" na página.

-Notas
1.Podia ter feito uma páginação devido a grande quantidade de retornos, eu tenho a capacidade de fazer mas devido ao tempo que não me tinha sobrando optei por deixar assim.
2.Podia ter colocado o projeto em um docker, tive um problema com o ambiente do python e devido, como estava muito travado em relação ao tempo opitei por deixar assim.
3.Utilizei o SQLite por facilidade na instalação, podia ter feito em um banco relacional qualquer e não relacional.

Caso apresente algum problema na execução

Para iniciar o projeto criei um shellscript chamado exec.sh, está localizado no diretorio principal do projeto.
./exec.sh

Caso o shell script apresentar algum problema, execute o arquivo manage.py que está localizado no diretorio principal do projeto.

sudo python3 manage.py runserver 0.0.0.0:5000

Dai execute o servidor do frontend no diretorio do frontend

npm start

Se necessário

npm install

desafio4linux's People

Contributors

felipemaia02 avatar

Watchers

Neustradamus avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.