Skip to content

Amazingkenneth/graduate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

214 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎓 Graduate

CI dependency status

有你,才是一班。 (With you, we are Class One.)

A digital documentary and interactive memory book celebrating our middle school years.

User GuideDownload Latest BuildReport a Bug

Graduate App Screenshot

Middle school flies by in a blur—moments of laughter with friends, unforgettable adventures, and precious fragments that slip away almost as quickly as they arrive. Graduate is a love letter to those fleeting years, designed to preserve the beautiful memories, friendships, and stories that shaped our journey together.

This is more than just an application; it's an interactive documentary of our class's history. Whether you're reliving a cherished moment or seeing your classmates' perspectives for the first time, Graduate invites you to walk through your middle school years, one memory at a time.

📑 Table of Contents


✨ Experience & Features

Graduate tells our story through four thoughtfully designed scenes:

  • 📸 Overview: Browse all the class group photos and choose where you'd like to start your journey through the memories.
  • 👤 Character Selection: Choose your perspective. See the middle school years through the eyes of specific classmates—each brings their own unique story to the moments you shared.
  • Timeline Scenes: Walk through memories in chronological order. Use arrow keys to navigate between moments and scroll through photos. Most photos feature your chosen character, accompanied by larger group moments.
  • 🗺️ Final Goodbye: A special interactive map of our school. Click the pins to explore where specific photos were taken and revisit memories by their exact location.

🚀 Getting Started (Download & Run)

For the best and most stable experience, please download the latest version from our GitHub Releases Page.

Graduate works seamlessly across Windows, macOS, and Linux. Choose your platform:

🪟 Windows (Windows 10+)

  • Download graduate-Windows.exe and run it.
  • Note: If your Windows Defender or Antivirus flags it as unrecognized, click "More info" -> "Run anyway", or try the uncompressed version.

🍎 macOS (macOS 13+)

  • Download graduate-macOS.
  • Double-click to extract/run.
  • Note: Because this is an indie app, you may see an "unidentified developer" warning. To bypass this, see Apple's guide on opening unnotarized apps.
  • If double-clicking doesn't work, open your Terminal and run:
    cd Downloads
    chmod +x graduate-macOS
    ./graduate-macOS

🐧 Linux (Latest LTS recommended)

  • Download the .deb package and install with dpkg, or download the executable and run it directly.
  • Required dependencies: libasound2-dev (Ubuntu/Debian) or alsa-lib-devel (Fedora) for audio support.
  • For detailed graphics requirements, see wgpu's platform support.

(Want the bleeding edge? If you want to test unreleased features, you can download the latest nightly builds from nightly.link or GitHub Actions Artifacts).


⌨️ Keyboard Shortcuts

Navigate the app effortlessly using these controls:

Key Action
Space Context-dependent action (varies by scene)
+ / - Zoom in / Zoom out
= Reset zoom
O Open current image or file in default viewer
N Skip to next background music track
R Adjust character display layout (in character selection)
E Open Settings menu
Alt + Enter Toggle Fullscreen
Esc Exit Fullscreen

In the Settings (E) menu, you can: Toggle Dark Mode, control music volume, choose to auto-delete cached images/settings on exit, and adjust playback options.


💾 Offline Use & Caching

Graduate works perfectly offline! The app securely downloads content on its first run, and afterward, everything is stored locally on your machine. Keep the cache, and you keep the memories forever.

Cache Locations:

  • Windows: %APPDATA%\Class1\Graduate
  • macOS: ~/Library/Application Support/Class1/Graduate
  • Linux: ~/.local/share/Class1/Graduate (data) & ~/.config/Class1/Graduate (settings)

Experiencing slow downloads? You can manually place files in the cache folder to speed things up. Simply download the gh-pages branch from this repository and extract the contents directly into your cache directory.


🛠️ Build from Source

If you are a developer and prefer to build the app from scratch:

  1. Install Rust and Git.
  2. Clone this repository: git clone https://github.com/Amazingkenneth/graduate.git
  3. Navigate into the directory: cd graduate
  4. Run the release build:
    cargo run --release
    (Note: We strongly recommend running with --release. Image loading can be very slow in debug mode and may result in crashes.)

Windows Developers: To hide the background console window when running the app, ensure this line is at the very top of src/main.rs. (It will automatically apply only to release builds):

#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]

🤝 Contribute to Our Story

We're building this documentary together, and we'd love your help! There is a place for everyone, regardless of technical skill.

For Classmates (Content Creation)

  • 📸 Photo Team: Collect, filter, and organize class photos.
  • 📝 Script Team: Write engaging narratives for the timeline scenes.
  • 🎨 Illustration Team: Create beautiful artwork for scenes lacking photos.
  • 😄 Expression Team: Gather funny moments, memes, and inside jokes.
  • 📹 Production Team: Organize videos and record special moments.
  • 🧪 Testing Team: Play around with the app and help us find bugs!

For Developers (Code)

If you know Rust or want to learn, we welcome pull requests! Feel free to browse the open issues, fork the repository, and submit a PR.


📱 Stay Connected

For complete documentation, visit our Detailed User Guide.

Follow our WeChat Official Account 有你才是一班 to stay updated with class announcements, reunions, and new memories.

About

有你,才是一班。

Resources

License

Stars

Watchers

Forks

Contributors