Skip to content

X-croot/SchoolBell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ”” XCR School Bell

Enterprise School Bell Management System

Java License Platform Release

Advanced, easy-to-use, and fully customizable bell system for schools

πŸ“₯ Download Now β€’ πŸ“– User Guide β€’ πŸ› οΈ Features β€’ ❓ FAQ


Screenshot

πŸ“‹ Table of Contents


🎯 About The Project

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.

Why XCR School 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

✨ Features

πŸ“… Schedule Management

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 Types

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

🎹 Soundpad Features

  • ▢️ One-click sound playback
  • ⏸️ Pause and resume functionality
  • 🎚️ Set sound range (start/end points)
  • 🎨 Color-coded sounds
  • ♾️ Unlimited sound additions

🎀 Live Announcement System

  • πŸ”΄ Press and hold to announce
  • 🎚️ Microphone volume adjustment
  • πŸ“’ Instant speaker output

πŸ’Ύ Backup and Restore

  • πŸ“… Dated automatic backups
  • πŸ“€ Export functionality
  • πŸ“₯ Import functionality
  • πŸ”„ Easy restoration

πŸ“¦ Requirements

Minimum System Requirements

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

Optional (Recommended)

Component Description
FFmpeg For advanced audio format support
Microphone For live announcement feature

πŸ“₯ Installation

πŸͺŸ Windows Installation

Method 1: Pre-built JAR File (Recommended)

  1. 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
  2. Download the Application

    Download XCR_School_Bell.jar from the Releases page.

  3. Run the Application

    Double-click the JAR file or run from command line:

    java -jar XCR_School_Bell.jar
  4. (Optional) Install FFmpeg

    For advanced audio format support:

    # Using Chocolatey
    choco install ffmpeg
    
    # Or using Winget
    winget install FFmpeg.FFmpeg

Method 2: Create Desktop Shortcut

  1. Right-click on Desktop β†’ New β†’ Shortcut
  2. Enter the location:
    javaw -jar "C:\Program Files\SchoolBell\XCR_School_Bell.jar"
    
  3. Name it: School Bell
  4. Choose your preferred icon

Method 3: Add to Windows Startup

  1. Press Win + R
  2. Type shell:startup and press Enter
  3. Copy the JAR file shortcut to the opened folder

🐧 Linux Installation

Ubuntu/Debian Based Distributions

  1. 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
  2. Install FFmpeg (Optional but Recommended)

    sudo apt install ffmpeg -y
  3. 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
  4. Run the Application

    java -jar XCR_School_Bell.jar
  5. (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

Fedora/RHEL Based Distributions

# 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

Arch Linux

# Install Java
sudo pacman -S jdk11-openjdk

# Install FFmpeg
sudo pacman -S ffmpeg

# Run the application
java -jar XCR_School_Bell.jar

Running as System Service (Server/Kiosk Mode)

# 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

🍎 macOS Installation

  1. 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
  2. Install FFmpeg

    brew install ffmpeg
  3. Run the Application

    java -jar XCR_School_Bell.jar

πŸ”§ Building From Source

If you want to build the project yourself:

  1. Install Requirements

    • JDK 11+
    • Maven 3.6+
    • Git
  2. Clone the Repository

    git clone https://github.com/X-croot/SchoolBell.git
    cd SchoolBell
  3. Build with Maven

    # Download dependencies and compile
    mvn clean package
    
    # Create executable JAR
    mvn package shade:shade
  4. Run the Built JAR

    java -jar target/XCR_School_Bell.jar

πŸš€ User Guide

🏁 Getting Started

  1. Launch the application
  2. Make sure "BELL SYSTEM ACTIVE" is enabled at the top
  3. Click on the "πŸ“… Schedule" tab from the menu

πŸ“… Creating a Schedule

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

πŸ”Š Setting Bell Sounds

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

🎹 Using Soundpad

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

🎀 Making Live Announcements

1. Open the "🎀 Live Announcement" tab
2. Press and hold the microphone icon
3. Speak your announcement
4. Release to stop

πŸ’Ύ Backup Operations

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

πŸ“Έ Screenshots

πŸ“Œ Note: Visit the Wiki page for screenshots or download the application to experience it yourself!

Interface Features:

  • πŸŒ™ Dark theme (eye-friendly)
  • 🎨 Colorful accent colors
  • πŸ“± Responsive design
  • πŸ–±οΈ Intuitive usage

βš™οΈ Configuration

Folder Structure

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

config.json Structure

{
  "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": []
}

❓ Frequently Asked Questions

πŸ”Ή How do I check if Java is installed?

Type the following in command line:

java -version

If you see version information, Java is installed.

πŸ”Ή The application won't open, what should I do?
  1. Make sure Java is installed
  2. Try running from command line:
    java -jar XCR_School_Bell.jar
  3. Check the error message
πŸ”Ή Sound is not playing, how do I fix it?
  1. Check system volume
  2. Make sure the sound file is in the correct format
  3. Install FFmpeg if not installed
  4. Check in-app volume level
πŸ”Ή MP3 files won't play?

Install FFmpeg. Without FFmpeg, only WAV files can be played.

πŸ”Ή My settings are lost?
  1. Check the data/backups/ folder
  2. Restore the latest backup
  3. 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.


πŸ› Troubleshooting

❌ "Java not found" Error

# Windows
set PATH=%PATH%;C:\Program Files\Java\jdk-11\bin

# Linux/macOS
export PATH=$PATH:/usr/lib/jvm/java-11-openjdk/bin

❌ Sound Output Issues

  1. Check default audio output device
  2. Restart PulseAudio service (Linux):
    pulseaudio -k && pulseaudio --start

❌ High CPU Usage

  • Stop sounds playing in the background
  • Remove unnecessary sounds from Soundpad

❌ Application Freezing

  1. Close the application
  2. Delete data/config.json
  3. Restart the application (clean installation)

❌ Sound Permission Error on Linux

# Add user to audio group
sudo usermod -a -G audio $USER

# Log out and log back in, or:
newgrp audio

πŸ“„ License

This 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.

About

An enterprise school bell application written in Java.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages