Skip to content

t0a0/TelegramChartApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

280 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TelegramChartApp

An app I had created for Telegram March and April Coding Competition.

Demo on YouTube

Since there were significant time restrictions the code is not clean and contains workarounds here at there to cut off the edges.

Flow:

  1. Parse .json data and map to custom DataChart struct.
  2. Load the TableViewController and map DataCharts to DataChartContainers with current trim range state and hidden chart columns.
  3. Configure TableViewCells with charts. They construct the corresponding ChartView subclasses and push them into view containers.
  4. Sync events from trimmer view to chart views via the controller.

Goal:

Develop software for showing simple charts based on input data Telegram had provided.

Unfortunately, I did not win any prize here.

Feedback from Telegram:

Unfortunately, your app doesn't fully comply with the design guidelines provided for the contest. Switching to the night mode causes the header and scroll bar to blink. Applying filters to graphs produces incorrect values, dates tend to collide when scrolling. Please note that the task was to place all the graphs on one page.

Goal:

Build 5 graphs based on the input data Telegram had provided. In addition to line charts developed in Stage 1, they had invited developers to support 3 new chart types: line charts with 2 Y axes, bar charts and percentage stacked area charts. Those who aimed for the first prize had to also support the zoom in / zoom out feature and pie charts. Zooming in allows to expand each data point into another graph with a more detailed X-axis. For example, each point on a 365-day daily graph can be zoomed into a 24-hour graph on a 168-hour timeline.

Took 4th place here. My entry.

Feedback from Telegram and public testers:

  1. Graphs are too large and take almost all of the screen height.
  2. Lines are rescaled only on tap release when changing time range.
  3. Average speed.
  4. Problems with pie chart, since I did not have enough time to finish it. No tooltip, no amination and non-magnetic range selector.

Tags:

About

An app that displays charts based on .json data. Developed for Telegram Coding Competition.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages