Skip to content

DivyanshuChipa/IntraChat-Android-FastAPI

Repository files navigation

Intra - LAN-Based Messenger

Intra Logo

A lightweight, secure, and fast local network messaging application

Python FastAPI Kotlin Android PySide6 License


Untitled15_20260309141519
---

πŸ“± Overview

Intra is a modern LAN-based messaging application designed for local network communication without internet dependency. It includes:

  • Android app (Jetpack Compose)
  • FastAPI backend
  • Web client (backend/static)
  • Desktop admin utility

πŸš€ Quick Start (Current Project Workflow)

1) Backend start (recommended scripts)

Run these from repo root (IntraChat-Android-FastAPI).

Windows

Start_Server.bat

Background mode:

Start_Server.bat --background

Linux/macOS shell

chmod +x start_server.sh
./start_server.sh

These scripts automatically:

  • Check for and install external tools (FFmpeg, Tesseract OCR, Ghostscript)
  • Create backend/venv if missing
  • Install/update dependencies from backend/requirements.txt
  • Start backend/run_server.py

2) Linux systemd service (optional)

Install and auto-start on boot:

chmod +x setup_systemd.sh
sudo ./setup_systemd.sh install

Uninstall service:

sudo ./setup_systemd.sh uninstall

Useful checks:

sudo systemctl status intra_backend.service
sudo journalctl -u intra_backend.service -f

3) Manual backend run (without helper scripts)

cd backend
python3 -m venv venv
source venv/bin/activate   # Windows: venv\Scripts\activate
python -m pip install -r requirements.txt
python run_server.py

run_server.py supports:

  • --host
  • --port
  • --reload / --no-reload

4) Connect clients

  • Android and server machine should be on same Wi-Fi/LAN.
  • Start backend and note displayed local IP.
  • In app/client, set server as http://<SERVER_IP>:8000.

✨ Features

  • πŸ” JWT Authentication
  • πŸ’¬ Real-time messaging (WebSocket)
  • πŸ“ File/media sharing
  • πŸ€– Lumir AI assistant integration
  • πŸ‘₯ Group chat support
  • ⌨️ Typing indicators
  • πŸ’Ύ Offline message handling
  • πŸŒ™ Dark/Light mode
  • πŸ“± Android + Web + Desktop tooling

🌐 Web Client

Available from backend static host:

  • http://<SERVER_IP>:8000

πŸ—‚οΈ Project Structure

IntraChat-Android-FastAPI/
β”œβ”€β”€ backend/                    # FastAPI backend + web static files
β”‚   β”œβ”€β”€ server.py              # Main ASGI app
β”‚   β”œβ”€β”€ run_server.py          # Starter script (IP print + uvicorn launch)
β”‚   β”œβ”€β”€ requirements.txt
β”‚   β”œβ”€β”€ static/                # Web client
β”‚   └── lumir/                 # AI logic
β”‚
β”œβ”€β”€ app/                        # Android app source
β”œβ”€β”€ Start_Server.bat            # Windows starter
β”œβ”€β”€ start_server.sh             # Linux starter
β”œβ”€β”€ setup_systemd.sh            # Linux systemd installer/uninstaller
└── GUIDE.md                    # Beginner-friendly setup guide

🀝 Contributing

  1. Fork the repository
  2. Create a branch (git checkout -b feature/AmazingFeature)
  3. Commit (git commit -m 'Add some AmazingFeature')
  4. Push (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

GPLv3 License. See LICENSE.


Untitled16

Made with ❀️ for local network communication

⭐ Star this repo if you find it useful!

About

"A secure, offline-first LAN messaging application featuring real-time chat, file sharing, and typing indicators.lumir AI using ollama backed to perform vision analysis. Built with Android (Jetpack Compose) and Python (FastAPI). No Internet Required."

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors