Skip to content

An open-source, lightweight and privacy-focused BeReal alternative client.

License

Notifications You must be signed in to change notification settings

Vexcited/StayReal

Repository files navigation

Banner for StayReal.

An open-source, lightweight and privacy-focused BeReal alternative client.

Nightly Build Badge License Badge

đź“Ą Download




Windows




macOS




Linux

aarch64 : ↗ DMG
x86_64 : ↗ DMG


Android (.apk)
These builds are signed.



iOS (.ipa)
This build is signed.

✨ Features

Authentication

Note that accounts with parental control are not supported, if you have one, please open an issue so we can work on it.

  • Automatically convert your phone number to international format
  • Send OTP
  • Verify OTP
  • Logout
  • Account creation
  • Account deletion (with 15 days cooldown)
  • Revert account deletion on login (within 15 days)
  • Keep user logged in (through a refresh token)

User Profile

  • Informations
  • Realmojis
  • Memories
  • Pinned

Others Profile

  • Informations
  • Pinned

Upload

  • Post a new BeReal
  • Flip camera
  • Take a photo from A side (primary image), wait for a few seconds, then take a photo from B side (secondary image)
  • Caption
  • Location
  • Retry count

Feed

  • See your posts in small view
  • See comments on your posts (you can only see count)
  • See reactions on your posts (you can only see a sample)
  • Comment under a post
  • See posts in large view (as a swiper of multiple posts)
  • See comments under a post (you can only see a sample)
  • See reactions on a post (you can only see a sample)
  • React to a post with your Realmojis
  • Open primary/secondary image in your browser (through image URL)

Relationships

  • Search
  • Listing of friends
  • See sent friend requests
  • Unsend a sent friend request
  • See received friend requests
  • Accept a received friend request
  • Reject a received friend request
  • Send a friend request
  • Unfriend someone
  • Suggestions (mutuals, contacts, ...)

Settings

  • Notifications (removed, waiting for a proper solution)
  • Update region for moments

Advanced

Some advanced features that are not in the original application.

  • Light mode
  • Upload from gallery
  • Manual camera (remove delay between primary image and secondary image, letting you to manually take the secondary image)
  • Cache today's feed data to device localStorage (for faster reloading), this is a temporary solution until we implement the task below
  • Cache data to device local database (for faster reloading and offline access)

Privacy

Only the necessary data is stored on the device, and the application does not collect any personal information.

  • No tracking
  • No analytics
  • No ads

🛠️ Development

Prerequisites

Follow the instructions on the ↗ Tauri documentation to setup your environment depending on your operating system and target platform.

Also, make sure you have ↗ pnpm installed since it's the package manager used in this project.

Quick start

git clone https://github.com/Vexcited/StayReal && cd StayReal

# Install dependencies
pnpm install

# Build internal-api
cd internal-api
pnpm install
pnpm build
cd ..

# Start development on desktop
pnpm tauri dev

# Start development on Android
pnpm tauri android dev

# Start development on iOS, only available on macOS
pnpm tauri ios dev

Build for release

# Build for desktop
pnpm tauri build

# Build for Android
pnpm tauri android build

# Build for iOS, only available on macOS
pnpm tauri ios build

If you want to know more about the pipeline used to build the application, you can check the ↗ GitHub Actions workflow.

Publication to stores

Every release, publication to stores, is triggered by pnpx tauri-version <bump> -m "chore: release v%s" followed by git push --follow-tags so the ↗ release workflow gets triggered by the tag push.

🙏 Acknowledgments

A lot of similar projects and researches have been made, and we would like to thank the authors for their work.

đź“„ License

StayReal is licensed under the ↗ GNU General Public License v3.0 (GPL-3.0), a copyleft license that ensures users’ freedom to run, study, share, and modify the software. Licensed works, modifications, and larger works must also be distributed under GPL-3.0, and source code must be provided or made available.