{"id":18150939,"url":"https://github.com/Tireon003/instant-messaging-app","last_synced_at":"2025-08-22T08:32:31.286Z","repository":{"id":258025869,"uuid":"873235174","full_name":"Tireon003/instant-messaging-service","owner":"Tireon003","description":"A simple real-time chatting full-stack application.","archived":false,"fork":false,"pushed_at":"2024-11-12T13:07:22.000Z","size":267,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-12T14:21:45.106Z","etag":null,"topics":["aiogram3","aiohttp","alembic","celery","fastapi-sqlalchemy","full-stack","messanger","postgresql","react","redis","tailwindcss","websocket"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tireon003.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-10-15T20:29:29.000Z","updated_at":"2024-11-12T13:07:26.000Z","dependencies_parsed_at":"2024-10-27T17:41:44.205Z","dependency_job_id":"a2be96b8-103c-4721-9512-51e2ae58a934","html_url":"https://github.com/Tireon003/instant-messaging-service","commit_stats":null,"previous_names":["tireon003/instant-messaging-service"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tireon003%2Finstant-messaging-service","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tireon003%2Finstant-messaging-service/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tireon003%2Finstant-messaging-service/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tireon003%2Finstant-messaging-service/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tireon003","download_url":"https://codeload.github.com/Tireon003/instant-messaging-service/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230577717,"owners_count":18247842,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["aiogram3","aiohttp","alembic","celery","fastapi-sqlalchemy","full-stack","messanger","postgresql","react","redis","tailwindcss","websocket"],"created_at":"2024-11-02T01:05:55.119Z","updated_at":"2025-08-22T08:32:31.272Z","avatar_url":"https://github.com/Tireon003.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# instant-messaging-app\n\nIt's a completed full stack application for real-time messaging. The app provides users an opportunity to create profiles, create chats with others, exchange messages, see recipient's network status, see message's status.\n\n### Functionality:\n1. Authentication and authorization based on OAuth2 with JWT session tokens\n2. Creating chats with users\n3. Communication in real time with saving history in the database and subsequent loading\n4. Automatic notifications about missed messages from users via a telegram bot when the user is offline\n\n### Stack\n- SPA: Vite, JavaScript, React, Nginx, HTML5, Tailwind CSS, React-router, axios\n- API: Python, REST API, FastAPI, Pydantic v2, SQLAlchemy v2, Alembic, Redis, Celery, Aiogram3, WebSockets, PostgreSQL\n- Telegram bot: Aiogram3, Aiohttp\n\n### How to run locally\n\n1. Install Docker (if not installed)\n2. Install Git (if not installed)\n3. Create new telegram bot (via @BotFather)\n4. Open terminal and open the folder where you want to place the project\n5. Enter command:\n```shell\ngit clone https://github.com/Tireon003/instant-messaging-service\n```\n6. Enter to project folder and create .env file. It should contain the next variables:\n```editorconfig\nBOT_TOKEN=\u003capi_key_of_your_tg_bot\u003e  // bot api key received from @BotFather\n\nDB_NAME=\u003cdatabase_name\u003e\nDB_HOST=msg_db  // don't touch\nDB_USER=\u003cpostgres_user\u003e\nDB_PORT=\u003cpostgres_server_port\u003e\nDB_PASS=\u003cpassword_for_postgres\u003e\n\nAPI_HOST=\u003chost_for_api_server\u003e\nAPI_PORT=\u003cport_for_api_server\u003e\n\nJWT_SECRET=\u003csecret_key_use_difficult\u003e\n\nLOG_LEVEL=\"INFO\" //you can change log level if want\n```\n7. Enter command to build and start app:\n```shell\ndocker-compose up -d --build\n```\n8. Wait for the project to be built\n\nWell, now application is available on url:\n```text\nhttp://localhost:8080/  # react app\nhttp://localhost:8080/docs  # fastapi docs\n```\nThe next url's are available:\n - /login - page for log in\n - /register - page for sign up\n - /chat - Main page for chatting\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTireon003%2Finstant-messaging-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTireon003%2Finstant-messaging-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTireon003%2Finstant-messaging-app/lists"}