Skip to content

Commit 9988fb4

Browse files
committed
feat: add Echo Chamber Android app for friend reviews
Implements a Kivy-based Android app that allows users to collect and view reviews from friends. The app includes: - Review feed displaying all friend reviews - Form to add new reviews with friend name, topic, and review text - Friend management screen to add/remove friends - Local JSON-based data storage - Comprehensive test suite with 11 tests Technical details: - Built with Kivy framework for cross-platform compatibility - Buildozer.spec configured for Android APK generation - Automatic friend addition when creating reviews - Persistent storage using JSON files - All tests passing The app can be run on desktop for testing or built as an Android APK using buildozer.
1 parent 086e4e8 commit 9988fb4

File tree

7 files changed

+678
-2
lines changed

7 files changed

+678
-2
lines changed

echo_chamber/README.md

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# Echo Chamber
2+
3+
An Android app for collecting and viewing reviews from your friends!
4+
5+
## Features
6+
7+
- **Review Feed**: View all reviews from your friends in one place
8+
- **Add Reviews**: Record reviews from friends on various topics
9+
- **Friend Management**: Add and manage your friend list
10+
- **Local Storage**: All data stored locally on your device
11+
12+
## How It Works
13+
14+
1. **Add Friends**: Navigate to the Friends screen and add your friends
15+
2. **Create Reviews**: Tap "New Review" to record feedback from a friend
16+
3. **View Feed**: See all reviews on the home screen
17+
18+
## Running the App
19+
20+
### Desktop (for testing)
21+
22+
Install dependencies:
23+
```bash
24+
pixi add kivy
25+
pixi run python echo_chamber/main.py
26+
```
27+
28+
Or with pip:
29+
```bash
30+
pip install kivy
31+
python echo_chamber/main.py
32+
```
33+
34+
### Building for Android
35+
36+
1. Install Buildozer:
37+
```bash
38+
pip install buildozer
39+
```
40+
41+
2. Install Android build dependencies (Ubuntu/Debian):
42+
```bash
43+
sudo apt update
44+
sudo apt install -y git zip unzip openjdk-17-jdk python3-pip autoconf libtool pkg-config zlib1g-dev libncurses5-dev libncursesw5-dev libtinfo5 cmake libffi-dev libssl-dev
45+
```
46+
47+
3. Build the APK:
48+
```bash
49+
buildozer android debug
50+
```
51+
52+
4. The APK will be generated in `bin/` directory
53+
54+
5. Install on device:
55+
```bash
56+
buildozer android deploy run
57+
```
58+
59+
## Project Structure
60+
61+
```
62+
echo_chamber/
63+
├── __init__.py # Package initialization
64+
├── main.py # Main app with UI screens
65+
├── storage.py # Data storage handling
66+
└── README.md # This file
67+
```
68+
69+
## Data Storage
70+
71+
Reviews and friends are stored as JSON files:
72+
- `reviews.json`: All review entries
73+
- `friends.json`: Friend list
74+
75+
By default, data is stored in the current directory. On Android, it will be in the app's private storage.
76+
77+
## Development
78+
79+
The app uses Kivy framework for cross-platform UI. Key screens:
80+
- `HomeScreen`: Main feed displaying all reviews
81+
- `NewReviewScreen`: Form to add new reviews
82+
- `FriendsScreen`: Manage friend list
83+
84+
## Future Enhancements
85+
86+
Potential features to add:
87+
- Cloud sync between devices
88+
- Share reviews with friends
89+
- Review categories/tags
90+
- Search and filter reviews
91+
- Profile pictures for friends
92+
- Rating system (stars, thumbs up/down)
93+
- Comments on reviews
94+
- Export reviews to PDF/text

echo_chamber/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
"""Echo Chamber - Get reviews from your friends."""
2+
3+
__version__ = "0.1.0"

0 commit comments

Comments
 (0)