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.
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.
- Telegram API library
- Frontend UI components
- Frontend Models
- webworkers
- Helpers and utils, service worker, TGS optimizations etc.
Some cleaning up of source code needed, there may be some outdated files in this repository. @todo: test coverage and get rid of junk.
- 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.
git clone https://github.com/jeka-kiselyov/lovegram.git
cd lovegram
npm install
Start in dev mode
node app.js
Open localhost:9090
Build the dist
grunt
MIT