/lovegram

Telegram Developer Challenges JavaScript Contest Entry

Primary LanguageJavaScriptMIT LicenseMIT

LoveGram

Telegram Developer Challenges JavaScript Contest Entry

Stage 1 IV PLACE

Stage 2 IV PLACE

Stage 3 III PLACE

The goal was to create a simplified web version of Telegram without using third-party UI frameworks. You can check most recent built version online here.

TLDR?

Built with with very simple stupid UI component class. Main data layer is PeerManager. Design files were provided by TG team. Goal was to make it tiny and fast. And do everything in 3 two-weeks sprints.

Specifications

Stage 1 Stage 2 Stage 3

Source

Some cleaning up of source code needed, there may be some outdated files in this repository. @todo: test coverage and get rid of junk.

As of libraries used:

  • TeleJS many thanks to RD17 team for their API library. My fork with few changes, updated layer, websocket support and SRP auth helpers named Teleweb is available here.
  • SquirrellyJS as a template engine. Fast, tiny and nice.
  • libwebpjs for webp in Safari support. (Thanks spalt08 for the help with it).
  • Lottie for TGS animations.
  • opus-recorder for recording ogg voice messages.

Installation

git clone https://github.com/jeka-kiselyov/lovegram.git
cd lovegram
npm install

How can I run it?

Start in dev mode

node app.js

Open localhost:9090

Build the dist

grunt

License

MIT