File size: 2,080 Bytes
bb0848f
 
 
 
 
9da6f5a
4846a49
bb0848f
 
 
 
 
 
 
425bee2
 
f9ea64e
 
 
425bee2
 
6011898
 
7c82b67
425bee2
2c07cde
425bee2
2c07cde
 
 
425bee2
 
2c07cde
 
 
425bee2
 
 
 
 
 
 
 
 
877cb6c
 
425bee2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
---
title: 'Postly: a simple twitter clone'
colorFrom: indigo
colorTo: indigo
sdk: streamlit
sdk_version: '1.39.0'
python_version: '3.10'
app_port: 7860
emoji: 🫁
pinned: false
license: mit
app_file: app.py
---

# Postly

[![license](https://img.shields.io/github/license/DAVFoundation/captain-n3m0.svg?style=flat-square)](https://github.com/andreped/postly/blob/main/LICENSE.md)
<a target="_blank" href="https://huggingface.co./spaces/andreped/postly"><img src="https://img.shields.io/badge/🤗%20Hugging%20Face-Spaces-yellow.svg"></a>

This repository contain the Postly client, which serves as a micro-message communication platform, similar to Twitter.

To access the live demo, click on the `Hugging Face` badge above. Below is a snapshot of the current state of the demo app.

<img width="1400" alt="Screenshot" src="assets/streamlit-app-demo.png">

## Getting started

Install dependencies:
```
pip install -r requirements.txt
```

Run streamlit app:
```
streamlit run app.py
```

## Testing

For this project, we perform continuous integration to make sure that code is tested and formatted appropriately:

| Build Type | Status |
| - | - |
| **Unit tests** | [![CI](https://github.com/andreped/postly/workflows/Tests/badge.svg)](https://github.com/andreped/postly/actions) |
| **Check file size** | [![CI](https://github.com/andreped/postly/workflows/Check%20file%20size/badge.svg)](https://github.com/andreped/postly/actions) |
| **Unit tests** | [![CI](https://github.com/andreped/postly/workflows/Deploy/badge.svg)](https://github.com/andreped/postly/actions) |

To perform unit tests, you need to install `pytest`. For running formatting checks you also need `flake8`, `isort`, and `black`. We also depend on `pydantic` for type validation. To do so, lets configure a virtual environment:
```
python -m venv venv/
source venv/bin/activate

pip install -r requirements.txt
```

Then run this command to perform unit tests:
```
pytest -v tests/
```

To perform formatting checks, run the following:
```
sh shell/lint.sh
```

## License

This project has MIT license.