Desenvolver um cadastro de usuários com integração com o Facebook.
A primeira etapa consiste em coletar informações do facebook utilizando um Facebook ID informado pelo usuário, ou cadastrando com uma conta já existente. Após a primeira etapa concluída, é apresentado um formulário para complementar o cadastro.
Na listagem de usuários, os mesmos poderão ser alterados ou removidos.
Requisitos
- O front deverá se conectar ao backend por API
- API deve seguir os princípios REST
- Salvar as informações necessárias em um banco de dados relacional de sua escolha
- Desenvolvimento em Python | Node.Js | GO
- Utilizar uma ferramenta de versionamento
- Documentar como rodar o projeto
Aplicação desenvolvida em dois módulos:
- Front-End: Node.js, Vue.js, jQuery e Bootstrap.
- Back-End: Python, Bottle, SQLAlchemy - ORM, Alembic - Database migrations, e MySQL.
Antes de fazer o download do projeto, verifique se já possui as dependências abaixo. Caso não possua alguma, clique no nome da dependência para ser redirecionado ao site da mesma:
Com as dependências já instaladas, abra o terminal para que possamos baixar nosso projeto:
$ git clone https://github.com/matheusho/luizalabs-test.git
$ cd luizalabs-test
Acesse a pasta 'back_end' para começar a instalação:
$ cd back_end
$ pyvenv venv
$ source venv/bin/activate
$ pip install -r requirements.txt
No MySQL crie um schema com o nome luizalabs.
$ mysql -u your_user -p
$ create schema luizalabs
No arquivo env.py configure as seguintes variáveis de ambiente com os dados da sua instalação local.
os.environ['DB_NAME'] = 'luizalabs'
os.environ['DB_USER'] = 'user'
os.environ['DB_PASSWORD'] = 'password'
os.environ['DB_HOST'] = 'localhost'
os.environ['DB_PORT'] = '5432'
Configuração efetuada no env.py, precisamos configurar nosso sistema de versionamento de banco de dados. Abra o arquivo alembic.ini, vá até a linha 32 e substitua user e password com o seu usuário e senha do MySQL.
sqlalchemy.url = mysql://user:password@localhost/luizalabs
$ alembic upgrade head
Após ter executado com sucesso os processos anteriores, é hora de rodar nosso back-end.
$ python manage.py runserver
$ python manage.py test
Acesse no link: http://127.0.0.1:8080/
Em uma nova janela do terminal acesse o diretório do projeto e vá até a pasta 'front_end'.
$ npm install
Linux:
$ nodejs app.js
Mac OS X
$ node app.js
Acesse no link: http://localhost:3000/