Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: about 5 hours 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 (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-13T12:09:28.000Z (7 days ago)
- Last Synced: 2024-11-13T13:20:34.876Z (7 days 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/)