https://github.com/mariacarolinass/mini-twitter
Projeto Mini-Twitter utilizando APi Rest, Python e framework Flask
https://github.com/mariacarolinass/mini-twitter
api api-rest application flask python twitter
Last synced: 2 months ago
JSON representation
Projeto Mini-Twitter utilizando APi Rest, Python e framework Flask
- Host: GitHub
- URL: https://github.com/mariacarolinass/mini-twitter
- Owner: MariaCarolinass
- License: gpl-3.0
- Created: 2022-01-17T17:06:43.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-11-13T12:09:28.000Z (over 1 year ago)
- Last Synced: 2025-01-21T01:45:27.063Z (over 1 year ago)
- Topics: api, api-rest, application, flask, python, twitter
- Language: Python
- Homepage:
- Size: 193 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://github.com/MariaCarolinass/Mini-Twitter/tree/main/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:
```sh
$ git clone https://github.com/seu-usuario/Mini-Twitter.git
$ cd Mini-Twitter
```
### Instalando o projeto
Instale o ambiente Virtualenv:
```sh
$ sudo apt-get install python3-venv
```
Crie a pasta venv para o Virtualenv:
```sh
$ python3 -m venv venv
```
Acesse o Virtualenv:
- Para Linux:
```sh
$ source venv/bin/activate
```
- Para Windows:
```sh
$ source venv\Script\activate
```
Instale a lista de pacotes do projeto:
```sh
$ pip install -r requirements.txt
```
### Configurando o projeto
Instale o Postgresql para o banco de dados:
```sh
sudo apt-get install postgresql postgresql-contrib
```
Crie um usuário administrador para o PostgreSQL:
```sh
sudo -u postgres createuser --superuser name_of_user
```
E por fim, crie o banco de dados:
```sh
sudo -u name_of_user createdb minitwitter
```
Acesse banco de dados e confira se funcionou:
```sh
psql -U name_of_user -d minitwitter
```
Utilize o comanado abaixo para iniciar o banco de dados do sqlalchemy:
```sh
$ flask db init
```
Salve as atualizações feitas:
```sh
$ flask db migrate -m "criando banco de dados"
```
Atualize o banco de dados:
```sh
$ flask db upgrade
```
### Rodando o projeto
Para rodar o projeto utilize:
```sh
$ flask run
```
Entre no seu navegador e acesse o endereço abaixo:
```sh
http://localhost:5000/
```
## Documentação da API
#### Informações da API
```sh
GET /api
```
#### Faz a autenticação do usuário
```sh
GET /
GET /login
Post /login
```
#### Saí do login do usuário
```sh
GET /logout
```
#### Solicita token de autenticação
```sh
GET /api/token
```
#### Carrega todos os dados das postagens
```sh
GET /api/register_posts
```
#### Carrega todos os dados dos usuários
```sh
GET /api/register_users
```
#### Mostra todas as postagens dos usuários
```sh
GET /explore
```
#### Cadastra e exibe uma nova postagem
```sh
GET /index
Post /index
```
#### Cadastra um novo usuário
```sh
GET /register
Post /register
```
#### Segue um usuário
```sh
GET /follow/{username}
Post /follow/{username}
```
#### Para de seguir um usuário
```sh
GET /unfollow/{username}
Post /unfollow/{username}
```
### Para acessar a Documentação
```sh
$ 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](https://github.com/MariaCarolinass/Mini-Twitter/blob/main/LICENSE).
## Contato
[@carolsoaresm](https://t.me/carolsoaresm) (Telegram)
## Referência
- [Aplicação web com python + Flask + PostgreSQL e deploy no Heroku](https://medium.com/@dushan14/create-a-web-application-with-python-flask-postgresql-and-deploy-on-heroku-243d548335cc)
- [Configurando Postgres, SQLAlchemy e Alembic](https://realpython.com/flask-by-example-part-2-postgres-sqlalchemy-and-alembic/)
- [Autenticação com Flask](https://blog.miguelgrinberg.com/post/restful-authentication-with-flask)
- [Mega Tutorial de Flask - Miguel Grinberg](https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world)
- [Criador de diagramas e fluxogramas - Draw.io](https://app.diagrams.net/)