Code Monkey home page Code Monkey logo

zvelte's Introduction

Zling Messaging App

Made with Svelte Build with Vite Packaged with Bun

What is Zling?

Zling is a guild-channel based messaging application meant for everyone - from a small friend group or gaming community to a large corporate messaging hive. Zling is built on robust and emerging web technologies to remain usable and deployable anywhere you want, with as much control over your data as you want. Controlling bloat and tuning performance is as much a priority as security and privacy.

Zling puts an emphasis on being software before being a service. Anyone can run Zling in the way they want and not have to associate themselves with our branding. We're not here to tell you how you should run your chat platform.

What is Zvelte?

Zvelte is the official web client for the Zling messaging application. You can use Zvelte on any modern browser that supports JavaScript and WebRTC (for voice & video chat).

Zvelte is written in Svelte (duh!), one of the most admired and desired web frameworks of StackOverflow's 2023 developer survey. We chose Svelte because it is lightweight (~6.7kB), performant and great for developer experience.

Zvelte should maintain full API coverage of the Zling API, and remain a first-class application when developing components of Zling. This is one of the main apps that users of Zling interact with.

Feature Overview

  • ๐Ÿ—จ๏ธ Responsive & powerful text chat system.

    • Send Text, Images, Videos, GIFs & Audio seamlessly and losslessly
    • Support for math expressions in LaTeX
    • Custom emojis for whatever you want
    • Rich, highlighted code blocks
    • Embeds for your daily driver websites (YouTube, Twitter, GitHub, etc.)
  • ๐ŸŽง Robust & low-latency voice chat backed by field-tested mediasoup library.

    • Secure & IP Leak Protected
    • No P2P instability - uses a central server
    • Low CPU usage - no transcoding, only forwarding
    • High quality & configurable bitrate
  • ๐Ÿ“š Organize communities with servers, channels, roles and permissions.

    • Familiar design seen in other apps like Discord, Slack & Revolt
  • ๐Ÿ”ฅ It's pretty quick

    • Nearly instant load time compared to competition
    • 95+ Lighthouse score
    • No unnecessary complexity
  • ๐ŸŒฑ Bloat free SPA, powered by Vite, Svelte and Bun.

  • ๐Ÿ”“ Open-source & user-first design approach

  • ๐Ÿท๏ธ Software before a service

    Zling is developed by volunteers in their free time. Reach out to us if you'd like to help!

Quickstart

๐Ÿšง Zling and Zvelte are currently under development, and do not have a stable release out yet. You are free to self-host the Zling API Server and this app yourself.

Star and watch this repository if you want to stay updated!

Set up build environment

We prefer to use Bun as a package manager because it's fast. Linux is recommended for a development and building OS as it simplifies installing a lot of dependencies.

1. Install Bun

See Bun's Installation Guide. You can also use a different package manager like npm or yarn, but Bun is strongly recommended.

# check if it works
$ bun --version
1.0.7
2. Install Packages

This installs some needed JS development libraries. Should take about a second to finish...

$ bun install
Output
3. Build the app...
# Build static files if you're deploying
$ bun run build
Output
vite v4.5.0 building for production...
โœ“ 303 modules transformed.
dist/index.html                   1.96 kB โ”‚ gzip:  0.91 kB
dist/assets/index-121c99f0.css   31.38 kB โ”‚ gzip:  6.47 kB  # main css file
dist/assets/index-7ef777b8.js   215.70 kB โ”‚ gzip: 66.69 kB  # app including all icons & some css
dist/assets/index-a2f0e58a.js   281.96 kB โ”‚ gzip: 49.23 kB  # loaded during voice chat only
โœ“ built in 2.69s

# โœ… Your built files are in the dist/ folder ready to host.
# Open the built app in a browser (with HTTPS!)
$ bun run start
Output
  โžœ  Local:   https://localhost:2000/
  โžœ  Network: use --host to expose
  โžœ  press h to show help
4. ...or develop it!
# Open a hot-reloaded HMR server in your browser with HTTPS.
$ bun run dev
Output
  VITE v4.5.0  ready in 325 ms

  โžœ  Local:   https://localhost:2000/
  โžœ  Network: use --host to expose
  โžœ  press h to show help

Happy hacking!

zvelte's People

Contributors

xxcodianxx avatar xxori avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

zvelte's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.