/Mini-Twitter

Projeto Mini-Twitter utilizando APi Rest, Python e framework Flask

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Mini-Twitter

O Mini-Twitter é um pequeno projeto com funcionalidades básicas da rede social Twitter. No projeto foram implementadas as funcionalidades de cadastro e autenticação dos usuários; cadastro de postagens; e seguir usuários.

Confira os modelos do Mini-Twitter na pasta /diagramas

Tecnologias utilizadas

  • REST API
  • Linguagem de programação Python
  • Microframework web Flask
  • Framework web Bootstrap

Como instalar

Faça um fork do projeto! E clone o repositório do fork feito:

$ git clone https://github.com/seu-usuario/Mini-Twitter.git
$ cd Mini-Twitter

Instalando o projeto

Instale o ambiente Virtualenv:

$ sudo apt-get install python3-venv

Crie a pasta venv para o Virtualenv:

$ python3 -m venv venv

Acesse o Virtualenv:

  • Para Linux:
$ source venv/bin/activate
  • Para Windows:
$ source venv\Script\activate

Instale a lista de pacotes do projeto:

$ pip install -r requirements.txt

Configurando o projeto

Instale o Postgresql para o banco de dados:

sudo apt-get install postgresql postgresql-contrib

Crie um usuário administrador para o PostgreSQL:

sudo -u postgres createuser --superuser name_of_user

E por fim, crie o banco de dados:

sudo -u name_of_user createdb minitwitter

Acesse banco de dados e confira se funcionou:

psql -U name_of_user -d minitwitter

Utilize o comanado abaixo para iniciar o banco de dados do sqlalchemy:

$ flask db init

Salve as atualizações feitas:

$ flask db migrate -m "criando banco de dados"

Atualize o banco de dados:

$ flask db upgrade

Rodando o projeto

Para rodar o projeto utilize:

$ flask run

Entre no seu navegador e acesse o endereço abaixo:

http://localhost:5000/

Documentação da API

Informações da API

  GET /api

Faz a autenticação do usuário

  GET /
  GET /login
  Post /login

Saí do login do usuário

  GET /logout

Solicita token de autenticação

  GET /api/token

Carrega todos os dados das postagens

  GET /api/register_posts

Carrega todos os dados dos usuários

  GET /api/register_users

Mostra todas as postagens dos usuários

  GET /explore

Cadastra e exibe uma nova postagem

  GET /index
  Post /index

Cadastra um novo usuário

  GET /register
  Post /register

Segue um usuário

  GET /follow/{username}
  Post /follow/{username}

Para de seguir um usuário

  GET /unfollow/{username}
  Post /unfollow/{username}

Para acessar a Documentação

$ flask run

- http://127.0.0.1:5000/apidoc/swagger
- http://127.0.0.1:5000/apidoc/redoc

Licença do projeto

GPL-3.0.

Contato

Telegram - @carols0

Referência