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

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors