The OwlPost is a JavaFX-powered messaging application with a fun Harry Potter theme, offering secure, real-time chat, voice & video calls, AI integration, and even a networked tic-tac-toe game.
- Overview
- Features
- Screenshots
- Getting Started
- Project Structure
- Contributors
- License
- Acknowledgments
Inspired by the magical world of Hogwarts, The OwlPost delivers a lightweight, theme-driven messaging experience. Built in JavaFX and backed by a real-time database, it supports multiple user roles, secure authentication, group chats, multimedia messaging, voice/video calls, AI assistance, and even a mini tic-tac-toe game.
- Sign Up with House sorting and age check (18–25)
- Login system
- Forgot password feature
- Last seen tracking
- Online status (real-time)
- Real-time database integration (e.g., Firebase) to keep chat history safe
- Send text, emoji, and file messages
- Emoji palette
- Background audio changes with time
- Voice-to-text transcription
- Real-time group loading and UI updates
- Internet-enabled text messaging
- Audio calls
- Video calls
- Voice recognition
- AI assistant API integration
- Create custom groups
- Real-time group messaging with dynamic UI changes
- Group info panel (member list, etc.)
- Add/leave groups anytime with live updates
- Timestamps and sender labels on every message
- System messages for group events
- Networked Tic-Tac-Toe with challenge/request system
- Threading and caching for smooth, responsive UI
Below are some screenshots of the application.

- Java 8 or higher
- JavaFX SDK
- Maven (bundled via the included wrapper)
- Clone the repository
git clone https://github.com/SaklainTheSpellbinder/TheOwlPost.git cd TheOwlPost - Configure API keys
- Copy your AssemblyAI key into
assemblyaiAPI.txt - Copy any other service key into
apikey.txt
- Copy your AssemblyAI key into
- Build the project
./mvnw clean install
- Run the application
- In your IDE: import as a Maven project, ensure JavaFX is set up, then run the JavaFX
Applicationclass (the one extendingjavafx.application.Application). - Or via Maven:
./mvnw javafx:run
- In your IDE: import as a Maven project, ensure JavaFX is set up, then run the JavaFX
TheOwlPost/
│
├── .idea/ # IDE config files
├── src/
│ └── main/
│ ├── java/ # Java source (controllers, services, models)
│ └── resources/ # FXML layouts, CSS, audio assets
│
├── target/ # Compiled artifacts
├── apikey.txt # Gemini API key
├── assemblyaiAPI.txt # AssemblyAI API key
├── owlpost.db # SQLite database file
├── recording.wav # Sample audio for testing
├── mvnw, mvnw.cmd # Maven wrapper scripts
├── pom.xml # Maven project configuration
└── README.md # Project documentation
This project is licensed under the MIT License. See the LICENSE file for details.
- Inspired by the Harry Potter universe’s Owl Post system.
- Thanks to the open-source JavaFX community for libraries and guidance.