Dokumentera barnens liv via SMS. En enkel dagbok där hela familjen kan bidra med minnen genom att skicka SMS.
- SMS-baserad inmatning - Skicka ett SMS när barnet säger något roligt eller gör något minnesvärt
- Hela familjen kan delta - Bjud in mor- och farföräldrar, de behöver ingen app
- Magic link-inloggning - Logga in säkert via SMS, inga lösenord att komma ihåg
- Flera barn - Varje barn har sitt eget telefonnummer
- Påminnelser - Föräldrar kan få påminnelser att dokumentera (observers får inga)
- Årssammanfattningar - Se "Denna dag förra året" och bläddra per år
- Exportera data - Ladda ner allt som CSV eller JSON
- Backend: Python + FastAPI
- Databas: SQLite
- SMS: 46elks API
- Frontend: Jinja2 templates + vanilla CSS
git clone https://github.com/yourusername/smsdiary.git
cd smsdiarypython3 -m venv venv
source venv/bin/activate # På Windows: venv\Scripts\activate
pip install -r requirements.txtcp .env.example .env
# Redigera .env med dina 46elks API-nycklaruvicorn main:app --host 0.0.0.0 --port 8081Besök http://localhost:8081
- Skapa ett konto på 46elks.com
- Köp ett virtuellt telefonnummer
- Ställ in webhook-URL för numret:
https://yourdomain.com/api/sms/incoming - Kopiera API-nycklarna till din
.env-fil
Använd admin.py för att hantera barn och användare via kommandoraden:
source venv/bin/activate
# Lägg till ett barn
python admin.py add-child "Barnets namn" "+46766861234" "2022-05-15"
# Lägg till en användare
python admin.py add-user "Förälderns namn" "+46701234567"
# Koppla användare till barn
python admin.py link "+46701234567" "+46766861234" parent
# Lista allt
python admin.py listEller använd webbgränssnittet på /admin efter inloggning.
[Unit]
Description=SMSDiary
After=network.target
[Service]
Type=simple
User=youruser
WorkingDirectory=/path/to/smsdiary
Environment=PATH=/path/to/smsdiary/venv/bin
EnvironmentFile=/path/to/smsdiary/.env
ExecStart=/path/to/smsdiary/venv/bin/uvicorn main:app --host 0.0.0.0 --port 8081
Restart=always
[Install]
WantedBy=multi-user.targetserver {
listen 80;
server_name diary.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:8081;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}| Endpoint | Metod | Beskrivning |
|---|---|---|
/ |
GET | Landningssida / Dagbok |
/login |
GET | Inloggningssida |
/auth/request |
POST | Begär magic link |
/auth/verify/{token} |
GET | Verifiera magic link |
/admin |
GET | Administrera barn och användare |
/api/sms/incoming |
POST | Webhook för inkommande SMS |
/export/csv |
GET | Exportera data som CSV |
/export/json |
GET | Exportera data som JSON |
MIT