Advanced, easy-to-use, and fully customizable bell system for schools
π₯ Download Now β’ π User Guide β’ π οΈ Features β’ β FAQ
- π― About The Project
- β¨ Features
- π¦ Requirements
- π₯ Installation
- π User Guide
- πΈ Screenshots
- βοΈ Configuration
- β Frequently Asked Questions
- π Troubleshooting
- π License
XCR School Bell is a professional bell management system designed for schools. With its modern and user-friendly interface, you can easily manage different bell types such as student bell, teacher bell, and break bell.
- π¨ Modern Interface: Elegant design with dark theme that's easy on the eyes
- β° Automatic Bells: Automatic bell ringing at scheduled times
- π΅ Multi-Format Support: MP3, WAV, OGG, FLAC, M4A, AAC and more
- π€ Live Announcements: Make instant announcements via microphone
- πΎ Backup System: Safely store your settings
- πΉ Soundpad: Quick access panel for custom sounds
| Feature | Description |
|---|---|
| π 7-Day Schedule | Plan your entire week from Monday to Sunday |
| β Add/Remove Lessons | Add unlimited lesson times |
| π Copy/Paste | Easily copy one day to another |
| π Copy to All | Apply one schedule to all days |
| Bell Type | Icon | Description |
|---|---|---|
| Student Bell | π | Signals the start of class |
| Teacher Bell | π¨βπ« | Special alert bell for teachers |
| Break Bell | β | Signals end of class/break time |
βΆοΈ One-click sound playback- βΈοΈ Pause and resume functionality
- ποΈ Set sound range (start/end points)
- π¨ Color-coded sounds
- βΎοΈ Unlimited sound additions
- π΄ Press and hold to announce
- ποΈ Microphone volume adjustment
- π’ Instant speaker output
- π Dated automatic backups
- π€ Export functionality
- π₯ Import functionality
- π Easy restoration
| Component | Requirement |
|---|---|
| Operating System | Windows , Linux, macOS |
| Java | JDK 11 or higher |
| RAM | Minimum 512 MB |
| Disk Space | Minimum 100 MB |
| Sound Card | Any audio output device |
| Component | Description |
|---|---|
| FFmpeg | For advanced audio format support |
| Microphone | For live announcement feature |
-
Install Java JDK 11+
If Java is not installed, download from Adoptium:
https://adoptium.net/temurin/releases/Or using winget:
winget install EclipseAdoptium.Temurin.11.JDK -
Download the Application
Download
XCR_School_Bell.jarfrom the Releases page. -
Run the Application
Double-click the JAR file or run from command line:
java -jar XCR_School_Bell.jar
-
(Optional) Install FFmpeg
For advanced audio format support:
# Using Chocolatey choco install ffmpeg # Or using Winget winget install FFmpeg.FFmpeg
- Right-click on Desktop β New β Shortcut
- Enter the location:
javaw -jar "C:\Program Files\SchoolBell\XCR_School_Bell.jar" - Name it:
School Bell - Choose your preferred icon
- Press
Win + R - Type
shell:startupand press Enter - Copy the JAR file shortcut to the opened folder
-
Install Java JDK 11+
# Update package list sudo apt update # Install OpenJDK 11 sudo apt install openjdk-11-jdk -y # Verify Java version java -version
-
Install FFmpeg (Optional but Recommended)
sudo apt install ffmpeg -y
-
Download the Application
# Create download directory mkdir -p ~/SchoolBell cd ~/SchoolBell # Download JAR file wget https://github.com/X-croot/SchoolBell/releases/download/1.0.0/XCR_School_Bell.jar
-
Run the Application
java -jar XCR_School_Bell.jar
-
(Optional) Create Desktop Shortcut
cat > ~/.local/share/applications/schoolbell.desktop << EOF [Desktop Entry] Name=School Bell Comment=School Bell Management System Exec=java -jar $HOME/SchoolBell/XCR_School_Bell.jar Icon=audio-volume-high Terminal=false Type=Application Categories=Education;Audio; EOF
# Install Java
sudo dnf install java-11-openjdk -y
# Install FFmpeg
sudo dnf install ffmpeg -y
# Run the application
java -jar XCR_School_Bell.jar# Install Java
sudo pacman -S jdk11-openjdk
# Install FFmpeg
sudo pacman -S ffmpeg
# Run the application
java -jar XCR_School_Bell.jar# Create service file
sudo tee /etc/systemd/system/schoolbell.service << EOF
[Unit]
Description=School Bell Application
After=network.target sound.target
[Service]
Type=simple
User=$USER
Environment=DISPLAY=:0
ExecStart=/usr/bin/java -jar /home/$USER/SchoolBell/XCR_School_Bell.jar
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
# Enable and start the service
sudo systemctl daemon-reload
sudo systemctl enable schoolbell
sudo systemctl start schoolbell
# Check service status
sudo systemctl status schoolbell-
Install Java JDK 11+
# Using Homebrew brew install openjdk@11 # Add to PATH echo 'export PATH="/usr/local/opt/openjdk@11/bin:$PATH"' >> ~/.zshrc source ~/.zshrc
-
Install FFmpeg
brew install ffmpeg
-
Run the Application
java -jar XCR_School_Bell.jar
If you want to build the project yourself:
-
Install Requirements
- JDK 11+
- Maven 3.6+
- Git
-
Clone the Repository
git clone https://github.com/X-croot/SchoolBell.git cd SchoolBell -
Build with Maven
# Download dependencies and compile mvn clean package # Create executable JAR mvn package shade:shade
-
Run the Built JAR
java -jar target/XCR_School_Bell.jar
- Launch the application
- Make sure "BELL SYSTEM ACTIVE" is enabled at the top
- Click on the "π Schedule" tab from the menu
1. Open the Schedule tab
2. Select the desired day (Monday, Tuesday, etc.)
3. Click the "β Add Lesson" button
4. For each lesson, enter:
- Student Bell Time (e.g., 08:30)
- Teacher Bell Time (e.g., 08:25)
- Break Bell Time (e.g., 09:10)
5. Add as many lessons as needed
6. Click the "πΎ SAVE" button
1. Open the "π Bell Sounds" tab
2. Find the relevant bell type (Student/Teacher/Break)
3. Click the "π Browse" button
4. Select your sound file (MP3, WAV, OGG, etc.)
5. Test with the "βΆοΈ Test" button
6. Adjust the volume level
1. Open the "πΉ Soundpad" tab
2. Click the "β ADD NEW SOUND" button
3. Select a sound file
4. Give it a name
5. Click on the added sound card to play
6. Click again to stop
1. Open the "π€ Live Announcement" tab
2. Press and hold the microphone icon
3. Speak your announcement
4. Release to stop
Creating a Backup:
1. Open the "πΎ Backup" tab
2. Click the "πΎ Create Backup" button
Restoring from Backup:
1. Select a backup from the list
2. Click the "π Restore" button
3. Confirm the action
π Note: Visit the Wiki page for screenshots or download the application to experience it yourself!
- π Dark theme (eye-friendly)
- π¨ Colorful accent colors
- π± Responsive design
- π±οΈ Intuitive usage
Application data is stored in the following folders:
data/
βββ config.json # Main configuration file
βββ sounds/ # Bell and soundpad audio files
β βββ student.wav
β βββ teacher.wav
β βββ break.wav
β βββ snd_*.wav # Soundpad sounds
βββ backups/ # Backup files
βββ backup_*.json
{
"bellActive": true,
"micVol": 100,
"schedule": [
{
"day": "Monday",
"lessons": [
{
"student": "08:30",
"teacher": "08:25",
"break": "09:10"
}
]
}
],
"sounds": {
"student": {"file": "student", "volume": 100},
"teacher": {"file": "teacher", "volume": 100},
"break": {"file": "break", "volume": 100}
},
"soundpad": []
}πΉ How do I check if Java is installed?
Type the following in command line:
java -versionIf you see version information, Java is installed.
πΉ The application won't open, what should I do?
- Make sure Java is installed
- Try running from command line:
java -jar XCR_School_Bell.jar
- Check the error message
πΉ Sound is not playing, how do I fix it?
- Check system volume
- Make sure the sound file is in the correct format
- Install FFmpeg if not installed
- Check in-app volume level
πΉ MP3 files won't play?
Install FFmpeg. Without FFmpeg, only WAV files can be played.
πΉ My settings are lost?
- Check the
data/backups/folder - Restore the latest backup
- Or manually edit
data/config.json
πΉ Can the application start automatically at system startup?
Windows: Add JAR shortcut to shell:startup folder
Linux: Create a systemd service (see instructions above)
πΉ Can I use it on multiple computers?
Yes! You can copy the data/ folder or backup files to another computer.
# Windows
set PATH=%PATH%;C:\Program Files\Java\jdk-11\bin
# Linux/macOS
export PATH=$PATH:/usr/lib/jvm/java-11-openjdk/bin- Check default audio output device
- Restart PulseAudio service (Linux):
pulseaudio -k && pulseaudio --start
- Stop sounds playing in the background
- Remove unnecessary sounds from Soundpad
- Close the application
- Delete
data/config.json - Restart the application (clean installation)
# Add user to audio group
sudo usermod -a -G audio $USER
# Log out and log back in, or:
newgrp audioThis project is licensed under the MIT License. See the LICENSE file for details.
MIT License
Copyright (c) 2026 Can ΓnΓΌvar
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
