{"id":47314103,"url":"https://github.com/core-euler/sna_net","last_synced_at":"2026-05-23T13:02:19.219Z","repository":{"id":278121521,"uuid":"934212603","full_name":"core-euler/sna_net","owner":"core-euler","description":"Dreams Diary Telegram Bot with AI analyzer","archived":false,"fork":false,"pushed_at":"2026-03-26T16:59:54.000Z","size":6233,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-27T03:26:51.556Z","etag":null,"topics":["ai","aiogram","asyncpg","bot","diary","dreams","fluent","gonka","postgresql","telegram"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/core-euler.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-17T13:10:32.000Z","updated_at":"2026-03-26T16:59:58.000Z","dependencies_parsed_at":"2025-04-01T07:26:48.882Z","dependency_job_id":"c07e445e-5911-4bef-8092-7c6519f9b7e4","html_url":"https://github.com/core-euler/sna_net","commit_stats":null,"previous_names":["okoloboga/sna_net","core-euler/sna_net"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/core-euler/sna_net","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/core-euler%2Fsna_net","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/core-euler%2Fsna_net/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/core-euler%2Fsna_net/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/core-euler%2Fsna_net/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/core-euler","download_url":"https://codeload.github.com/core-euler/sna_net/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/core-euler%2Fsna_net/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33396576,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T04:15:53.637Z","status":"ssl_error","status_checked_at":"2026-05-23T04:15:53.242Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","aiogram","asyncpg","bot","diary","dreams","fluent","gonka","postgresql","telegram"],"created_at":"2026-03-17T13:29:42.354Z","updated_at":"2026-05-23T13:02:19.209Z","avatar_url":"https://github.com/core-euler.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# InnerCore\n\nAI-powered mobile dream journal with Jungian-style analysis, contextual dream chat, and a symbolic Dream Map.\n\n## v0.3 Highlights\n\n- Automatic analysis after save. A dream appears in the list immediately and analysis runs in the background.\n- New 3-column dream grid for faster scanning.\n- Improved dream cards (title/date presentation and analysis states).\n- Updated onboarding flow with a guided multi-step modal.\n- Voice dream capture (MVP): local recording + transcription.\n- New Dream Map with symbolic nodes, archetype filters, detail view, and manual refresh.\n- Bottom navigation with icon-based sections.\n- Better analysis stability, clearer loading behavior, and improved mobile responsiveness.\n- Markdown rendering in analysis and chat responses.\n- Bounded map area (no cyclic infinite scrolling).\n- Map filters now show the full available archetype set.\n\n## Architecture\n\n```text\nFlutter Client (iOS/Android)\n        |\n        v\nFastAPI Backend  \u003c--\u003e  PostgreSQL\n        |                Redis\n        |                MinIO\n        v\nCelery Worker\n        |\n        +--\u003e LLM Service (FastAPI wrapper over Gonka/OpenAI-compatible chat)\n        +--\u003e CometAPI Embeddings + Transcriptions\n```\n\n## Tech Stack\n\n- Client: Flutter, Provider, flutter_secure_storage, flutter_markdown\n- Backend: FastAPI, SQLAlchemy async, PostgreSQL, Redis, Celery, MinIO, JWT\n- LLM: Gonka Proxy (OpenAI-compatible)\n- Embeddings/STT: CometAPI (`text-embedding-3-small`, `whisper-1`)\n- Infra: Docker, Docker Compose\n\n## Quick Start\n\n### Prerequisites\n\n- Docker + Docker Compose\n- Flutter SDK (for mobile client)\n- Valid API credentials for:\n  - Gonka (`GONKA_API_KEY`)\n  - CometAPI embeddings/transcriptions (`EMBEDDINGS_API_KEY`, `TRANSCRIPTIONS_API_KEY`)\n\n### Run backend stack\n\n```bash\ndocker-compose up --build\n```\n\nServices:\n- Backend API: `http://localhost:8000`\n- LLM Service: `http://localhost:8001`\n- PostgreSQL: `localhost:5432`\n- Redis: `localhost:6379`\n- MinIO API: `http://localhost:9000`\n- MinIO Console: `http://localhost:9001`\n\n### Run Flutter client\n\n```bash\ncd client\nflutter pub get\nflutter run --dart-define=API_BASE_URL=http://localhost:8000\n```\n\nFor a real phone, replace `localhost` with your backend host or domain:\n\n```bash\nflutter run --dart-define=API_BASE_URL=https://your-domain.com\n```\n\n### Health checks\n\n```bash\ncurl http://localhost:8000/health\ncurl http://localhost:8001/health\n```\n\n## API\n\n- Swagger UI: `http://localhost:8000/docs`\n- ReDoc: `http://localhost:8000/redoc`\n\nCore endpoint groups:\n- `/api/v1/auth` - anonymous auth + account auth flows\n- `/api/v1/dreams` - create/read/update/delete/search dreams\n- `/api/v1/analyses` - async dream analysis lifecycle\n- `/api/v1/messages` - dream chat messages\n- `/api/v1/map` - Dream Map nodes, filters, details\n- `/api/v1/users/me` - profile data\n- `/api/v1/stats/me` - personal stats\n\n## Development\n\n### Run without Docker\n\n```bash\n# Backend\ncd backend\npip install -r requirements.txt\nuvicorn main:app --reload\n\n# LLM service\ncd llm_service\npip install -r requirements.txt\nuvicorn main:app --reload --port 8001\n\n# Celery worker\ncd backend\ncelery -A celery_app worker --loglevel=info\n```\n\n## Contact\n\n- Telegram: [@CoreEuler](https://t.me/CoreEuler)\n- GitHub: [core-euler](https://github.com/core-euler)\n\n## License\n\n[MIT License](LICENSE.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcore-euler%2Fsna_net","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcore-euler%2Fsna_net","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcore-euler%2Fsna_net/lists"}