timfraedrich / outrun Goto Github PK
View Code? Open in Web Editor NEWOutRun is an open-source, privacy oriented, outdoor fitness tracker.
Home Page: https://outrun.tadris.de
License: GNU General Public License v3.0
OutRun is an open-source, privacy oriented, outdoor fitness tracker.
Home Page: https://outrun.tadris.de
License: GNU General Public License v3.0
Apparently due to "security concerns" China uses a different GPS system (GCJ-02) than the rest of the world.
Is your feature request related to a problem? Please describe.
I've tracked some workouts in another app that doesn't sync map data to Health, so when I import them into OutRun, I just get durations. However, it can export to GPX with maps, but OutRun currently can't import them this way.
Describe the solution you'd like
Add support for importing GPX files.
Describe alternatives you've considered
I'm not aware of any alternatives (short of figuring out how to edit the .orbup file and then restoring from that). I've already contacted the developer of the other app and they have no plans to add map sync to Health.
App should use motion sensor to display cadence while running, and maybe store median cadence for run
After gaining a bigger user base some unprecedented bugs connected to inconsistencies inside the database started showing up, this can be prevented if everything is validated and possibly modified before saved inside the database
Describe the bug
The new contributors page/view is not working, as it shows breen al variables instead.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Contributors should be listed with ‘contribution.json’ content
Screenshots
If applicable, add screenshots to help explain your problem.
Describe the bug
I reached an average of 100kh and see that it only recorded the first part of the run. I am not sure what happened but it looks like it entered rest/pause
Device Information (please complete the following information):
Additional context
It has been a while since my last run, situation is that it is a bit colder now, not sure if this could have anything to do with it.
Some users are reporting the automatic import of workouts and saving to Apple Health not working under iOS 14.
So far when completing the setup you are stuck at the permission screen if you did not enable 'Fitness Tracking' on your device or if you do not want to share that data with OutRun. This should not be the case.
Since the data received from Apple's CoreMotion framework is inessential to the recording of
a workout, the permission should not be mandatory. There should be a switch in the setup and in settings to disable said access which will result in no motion data being recorded.
It would be nice to have a widget for outrun so you start a workout right form your home screen instead of having to open the app
When trying to „Import from Apple Health“ sometimes the app keeps on loading indefinitely. The only way to escape this situation is to quit the app, which is not acceptable from a user experience standpoint.
When adding a workout manually or editing a workout, the date picker for the start date does not work properly, since it was changed in iOS 14
When I try to import data from the iOS health app it displays a message “There seems to be nothing here“
But there is plenty of data in my iOS health app related to exercise and walking and jogging.
In the long run this whole project should be well documented, during this process there will be references on every addition of documentation of the initial project code in this issue.
Please make sure to reference it if you contribute code documentation.
Describe the bug
OutRun is not recording altitude data - when viewing a workout, that section is blank.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Altitude data should be recorded and viewable.
Device Information (please complete the following information):
Additional context
This seems to have worked for the very first workout I recorded with OutRun but hasn't worked since. Location permission is set to "While Using".
Is your feature request related to a problem? Please describe.
I would like to contribute translating this app into Spanish and Catalan but I can't enable any language in Weblate.
Describe the solution you'd like
I want to ask @timfraedrich to enable those languages in Weblate.
Describe alternatives you've considered
None. I love using this app. I want to contribute so that more friends who don't speak English can use it.
Additional context
I used to translate open source projects with similar websites (crowdin.net). Also, I speak the three languages I mentioned.
Describe the solution you'd like
It would be great to have functionality of the OutRun app available from the Apple Shortcuts app so that I could automatically start a walk for example.
When the start button on the recording screen is pressed and the WorkoutBuilder is not ready yet the UI will show an error.
Steps To Reproduce
Expected behavior
The start button should show three dots indicating to wait and it should not be selectable
The rounding added before version 1.2 to improve the usability of the rounding function accidentally used a binary operator instead of pow()
This issue was already fixed in ef5516b
The app stopped syncing Cycling Distance to Apple Health after version 1.2 even it having write permission to Cycling Distance category on Apple Health.
Some users on Release 1.2 are experiencing crashes related to data inconsistencies especially connected to WorkoutEvents (Pauses, Continuations).
The issue is mostly associated with ClosedRanges with a higher start value than the end value being created, which leads to a fatal error.
Describe the solution you'd like
In iOS 16, later this year, there will be a thing called live activities. It would be pretty nice if we could pull out our iPhone and could see some basic details from the lockscreen.
Additional context
https://developer.apple.com/documentation/activitykit
https://www.theverge.com/2022/6/6/23151443/ios-16-notification-features-apple-wwdc
Would be very nice, if the app will provide full Apple HealthKit intgeration or let's say the app should write full data to Apple Health App.
For example the GPS Data will not be written to Apple Health. If i go inthe the Health App and look for the trainings (activities) the gps route is not shown.
There should be an alternative view for list elements in the workout timeline, which displays more information (maybe at the loss of the map, so the views do not get too big). The user should be able to choose a preferred view in settings and possibly customise it.
The app has become unusable on both iOS 14.8.1&15.2.1. Crashes on both versions within 5-20 mins. Definitely no way to record my 2 hour daily work outs. Both my iPhone X and 13 Pro Max have the issue.
Many users have been asking for audio cues during a workout. This should be implemented in the form of sounds and voice announcements.
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
I am used to view the race pace graph after a running session in other apps, showing which time took each kilometer instead speed in “km/h”.
Describe the solution you'd like
A clear and concise description of what you want to happen.
A switch in configuration should work, replacing speed graph with race pace graph, as this info is not useful for everyone.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Showing the kilometers using a vertical line in another color with the race pace time stamp in the current speed graph should work too, but maybe that’s many information in a single graph. That’s why I suggested a toggle. But that switch could work for this instead, too.
Additional context
Add any other context or screenshots about the feature request here.
Is your feature request related to a problem? Please describe.
Currently the History view displays the same information header (Today, Yesterday, etc.) above every workout, even when there are multiple workouts on the same day. In my opinion, this adds visual noise without much benefit.
Describe the solution you'd like
I could see two ways to address this.
Today
[Workout 1]
[Workout 2]
Today 7:30 AM
[Workout 1]
Today 3:00 PM
[Workout 2]
I'm personally partial to option 1 (although I would like to see start time displayed somewhere in the History view, I'm not sure the header is the right place for it).
I'd be happy to mock this up if the text-based examples aren't clear. Thanks!
When saving a workout it sometimes takes a couple of seconds for the UI to react, because of that a user tends to click on the stop button multiple times ultimately starting a second workout. This sometimes also leads to crashes.
To interact with a workout in the workout list you first need to click on it and look for the actions you want to perform (most of them are at the bottom). It would be much more convenient to have an iOS context menu to give options like share, edit or delete.
Firstly, thanks for open sourcing this app! It's quite nice :)
Describe the bug
When users enter a value for weight it will change after the value is set. Eg: When I enter 135lbs it changes to 134.99lbs. This also happens when I tried entering a value in kilograms though I had to add more decimals for it to change. If I had to guess what the issue is, I would say that the app calculates things in kilos and rounds them nicely which causes values entered in pounds to be rounded strangely. For what it's worth, I think the imperial system is very dumb but we generally use it for weight in Canada for.... some reason. 🙃
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I expect the value I set to be the value that is displayed / used.
Device Information (please complete the following information):
XCODE 12.0.1
Have done
sudo gems update cocoapods
pod update (on the downloaded files directory)
Update all pods
Updating local specs repositories
Adding spec repo `trunk` with CDN `https://cdn.cocoapods.org/`
Analyzing dependencies
Downloading dependencies
Installing Cache (6.0.0)
Installing Charts (3.6.0)
Installing CoreGPX (0.8.1)
Installing CoreStore (6.3.2)
Installing SnapKit (5.0.1)
Generating Pods project
Integrating client project
[!] Please close any current Xcode sessions and use `OutRun.xcworkspace` for this project from now on.
Pod installation complete! There are 5 dependencies from the Podfile and 5 total pods installed.
trying to run it locally on simulator churned out quite a few build issue.
Would appreciate some guidance on what's happening.
/// the disk storage as basis of the caching system
private let diskStorage: DiskStorage<UIImage>?
clicking no the error declaration points to this
/// Save objects to file on disk
final public class DiskStorage<Key: Hashable, Value> {
enum Error: Swift.Error {
case fileEnumeratorFailed
}
is there a missing "value"?
Thanks
When you change the workout type after saving the workout, the burned energy will not be recalculated in the DataManager.alterWorkout
function.
To implement this there must first be a function to calculate the weight of the person doing the workout back from the original burned energy value and the workout type in the BurnedEnergyCalculator
. And then from that the new value can be calculated through the BurnedEnergyCalculator. calculateBurnedCalories
function.
How the weight can be calculated back in the first place should be evident from the equation used to calculate the value (commented above the function).
Describe the bug
When dark mode is toggled, the very first map in History doesn't switch like the others. If going from light to dark, it will stay light, and vice versa.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The first map should change like the others.
Device Information (please complete the following information):
In the workout summary the workout duration and distances are only shown as rounded values.
E.g. if my workout took me 1:39h it is shown as 2hours.
Same goes for distances being shown as full kilometer values.
I don't see a reason why durations should not show the precise value and distances are not represented by at least one or maybe two decimal places.
Changing this should not be an issue as there is enough space and it would help comparing workouts to each other.
it happens
when launches OurRun;
when saves a big workout(like, more than 1 hour)
when shows WorkoutViewControll for details.
How can we improve performance for map image?
Describe the bug
Sometimes while recording a workout with the phone locked, OutRun crashes, losing the workout. The crash logs indicate this is due to CPU usage (cpu_resource_fatal).
To Reproduce
Unfortunately I don't have a way to reproduce this consistently.
Expected behavior
OutRun doesn't crash.
Screenshots
No screenshots, but crash logs are below.
Device Information (please complete the following information):
Crash Logs
{"app_cohort":"2|date=1597802400000&sf=143441&tid=ee6d14f45c0254981965d99bd41a4ba1c3aa0709a77c3ac635bd5db03b1f249d&ttype=e","app_name":"OutRun","app_version":"1.2.1","timestamp":"2020-08-31 06:29:31.00 -0700","slice_uuid":"16897B6D-1DC9-3E27-880F-64C7E8BE6F19","adam_id":1477511092,"build_version":"1","bundleID":"de.tadris.OutRun","share_with_app_devs":0,"is_first_party":0,"bug_type":"206","os_version":"iPhone OS 13.6.1 (17G80)","incident_id":"47DE3FF9-8EB2-4BD4-8CE3-0FC68A83C35A","name":"OutRun","is_beta":1}
Date/Time: 2020-08-31 06:28:40 -0700
End time: 2020-08-31 06:29:30 -0700
OS Version: iPhone OS 13.6.1 (Build 17G80)
Architecture: arm64
Report Version: 29
Incident Identifier: 47DE3FF9-8EB2-4BD4-8CE3-0FC68A83C35A
Data Source: Microstackshots
Shared Cache: 0x7ee8000 A0272339-EEC2-3EA9-9009-7910B8BC1928
Command: OutRun
Path: /private/var/containers/Bundle/Application/52CAF9F6-730C-4E54-9973-DA52B0F3BE23/OutRun.app/OutRun
Identifier: de.tadris.OutRun
Version: 1.2.1 (1)
Beta Identifier: F09BCF22-0C58-4808-93E8-18DFCDC00CCF
PID: 7650
Event: cpu usage
Action taken: Process killed
CPU: 48 seconds cpu time over 50 seconds (96% cpu average), exceeding limit of 80% cpu over 60 seconds
CPU limit: 48s
Limit duration: 60s
CPU used: 48s
CPU duration: 50s
Duration: 49.97s
Duration Sampled: 47.57s
Steps: 12
Hardware model: iPhone10,6
Active cpus: 6
Heaviest stack for the target process:
12 ??? (libsystem_pthread.dylib + 47988) [0x188098b74]
12 ??? (libdispatch.dylib + 272460) [0x18802e84c]
12 ??? (libdispatch.dylib + 234828) [0x18802554c]
12 ??? (libdispatch.dylib + 232252) [0x188024b3c]
12 ??? (libdispatch.dylib + 374052) [0x188047524]
12 ??? (libdispatch.dylib + 371112) [0x1880469a8]
12 ??? (MapKit + 2118132) [0x195f421f4]
12 ??? (OutRun + 57592) [0x1044d20f8]
12 ??? (OutRun + 56592) [0x1044d1d10]
12 ??? (CoreGraphics + 2057740) [0x18f24560c]
12 ??? (CoreGraphics + 2018192) [0x18f23bb90]
12 ??? (CoreGraphics + 2010616) [0x18f239df8]
12 ??? (CoreGraphics + 2667096) [0x18f2da258]
6 ??? (CoreGraphics + 2405380) [0x18f29a404]
Powerstats for: OutRun [7650]
Bundle ID: de.tadris.OutRun
Adam ID: 1477511092
Is first party: No
App version: 1.2.1
Build version: 1
Is Beta: Yes
Share with Devs: No
UUID: 16897B6D-1DC9-3E27-880F-64C7E8BE6F19
Path: /private/var/containers/Bundle/Application/52CAF9F6-730C-4E54-9973-DA52B0F3BE23/OutRun.app/OutRun
Architecture: arm64
Footprint: 131.39 MB
Pageins: 1 pages
Start time: 2020-08-31 06:28:42 -0700
End time: 2020-08-31 06:29:29 -0700
Num samples: 12 (100%)
CPU Time: 46.862s
Primary state: 11 samples Non-Frontmost App, Non-Suppressed, User mode, Effective Thread QoS Background, Requested Thread QoS User Initiated, Override Thread QoS Unspecified
User Activity: 12 samples Idle, 0 samples Active
Power Source: 12 samples on Battery, 0 samples on AC
12 ??? (libsystem_pthread.dylib + 47988) [0x188098b74]
12 ??? (libdispatch.dylib + 272460) [0x18802e84c]
12 ??? (libdispatch.dylib + 234828) [0x18802554c]
12 ??? (libdispatch.dylib + 232252) [0x188024b3c]
12 ??? (libdispatch.dylib + 374052) [0x188047524]
12 ??? (libdispatch.dylib + 371112) [0x1880469a8]
12 ??? (MapKit + 2118132) [0x195f421f4]
12 ??? (OutRun + 57592) [0x1044d20f8]
12 ??? (OutRun + 56592) [0x1044d1d10]
12 ??? (CoreGraphics + 2057740) [0x18f24560c]
12 ??? (CoreGraphics + 2018192) [0x18f23bb90]
12 ??? (CoreGraphics + 2010616) [0x18f239df8]
12 ??? (CoreGraphics + 2667096) [0x18f2da258]
6 ??? (CoreGraphics + 2405380) [0x18f29a404]
4 ??? (CoreGraphics + 2405524) [0x18f29a494]
1 ??? (CoreGraphics + 2405404) [0x18f29a41c]
1 ??? (CoreGraphics + 2405292) [0x18f29a3ac]
1 <Kernel mode>
Binary Images:
0x1044c4000 - ??? de.tadris.OutRun 1.2.1 (1) <16897B6D-1DC9-3E27-880F-64C7E8BE6F19> /private/var/containers/Bundle/Application/52CAF9F6-730C-4E54-9973-DA52B0F3BE23/OutRun.app/OutRun
0x187fec000 - 0x188060fff libdispatch.dylib <361DA09A-E7CE-30EB-8DFC-9D9AF9DE4A0A> /usr/lib/system/libdispatch.dylib
0x18808d000 - 0x18809dfff libsystem_pthread.dylib <24DC6E6F-6798-3F65-908A-F9873447C9D1> /usr/lib/system/libsystem_pthread.dylib
0x18f04f000 - 0x18f5befff CoreGraphics <C586E13E-67F9-392A-B8FC-E15D8E1A0207> /System/Library/Frameworks/CoreGraphics.framework/CoreGraphics
0x195d3d000 - 0x195f7ffff MapKit <C7CE0C73-2266-30A9-B8C5-39636017D423> /System/Library/Frameworks/MapKit.framework/MapKit
{"app_cohort":"2|date=1597802400000&sf=143441&tid=ee6d14f45c0254981965d99bd41a4ba1c3aa0709a77c3ac635bd5db03b1f249d&ttype=e","app_name":"OutRun","app_version":"1.2.1","timestamp":"2020-09-03 13:01:01.00 -0700","slice_uuid":"16897B6D-1DC9-3E27-880F-64C7E8BE6F19","adam_id":1477511092,"build_version":"1","bundleID":"de.tadris.OutRun","share_with_app_devs":0,"is_first_party":0,"bug_type":"206","os_version":"iPhone OS 13.7 (17H35)","incident_id":"C9411331-9993-4761-A584-5A6349CA60EB","name":"OutRun","is_beta":1}
Date/Time: 2020-09-03 13:00:09 -0700
End time: 2020-09-03 13:01:01 -0700
OS Version: iPhone OS 13.7 (Build 17H35)
Architecture: arm64
Report Version: 29
Incident Identifier: C9411331-9993-4761-A584-5A6349CA60EB
Data Source: Microstackshots
Shared Cache: 0x127cc000 34953B50-8FB0-38D9-9C51-8CD60555E187
Command: OutRun
Path: /private/var/containers/Bundle/Application/52CAF9F6-730C-4E54-9973-DA52B0F3BE23/OutRun.app/OutRun
Identifier: de.tadris.OutRun
Version: 1.2.1 (1)
Beta Identifier: F09BCF22-0C58-4808-93E8-18DFCDC00CCF
PID: 3490
Event: cpu usage
Action taken: Process killed
CPU: 48 seconds cpu time over 51 seconds (93% cpu average), exceeding limit of 80% cpu over 60 seconds
CPU limit: 48s
Limit duration: 60s
CPU used: 48s
CPU duration: 51s
Duration: 51.35s
Duration Sampled: 25.02s
Steps: 4
Hardware model: iPhone10,6
Active cpus: 6
Heaviest stack for the target process:
4 ??? (libsystem_pthread.dylib + 47988) [0x19297cb74]
4 ??? (libdispatch.dylib + 272460) [0x19291284c]
4 ??? (libdispatch.dylib + 234828) [0x19290954c]
4 ??? (libdispatch.dylib + 232252) [0x192908b3c]
4 ??? (libdispatch.dylib + 374052) [0x19292b524]
4 ??? (libdispatch.dylib + 371112) [0x19292a9a8]
4 ??? (MapKit + 2117972) [0x1a082d154]
4 ??? (OutRun + 57592) [0x1025760f8]
4 ??? (OutRun + 56592) [0x102575d10]
4 ??? (CoreGraphics + 2057740) [0x199b3060c]
4 ??? (CoreGraphics + 2018192) [0x199b26b90]
4 ??? (CoreGraphics + 2010616) [0x199b24df8]
4 ??? (CoreGraphics + 2667096) [0x199bc5258]
3 ??? (CoreGraphics + 2405524) [0x199b85494]
Powerstats for: OutRun [3490]
Bundle ID: de.tadris.OutRun
Adam ID: 1477511092
Is first party: No
App version: 1.2.1
Build version: 1
Is Beta: Yes
Share with Devs: No
UUID: 16897B6D-1DC9-3E27-880F-64C7E8BE6F19
Path: /private/var/containers/Bundle/Application/52CAF9F6-730C-4E54-9973-DA52B0F3BE23/OutRun.app/OutRun
Architecture: arm64
Footprint: 125.77 MB
Start time: 2020-09-03 13:00:34 -0700
End time: 2020-09-03 13:00:59 -0700
Num samples: 4 (100%)
CPU Time: 24.607s
Primary state: 4 samples Non-Frontmost App, Non-Suppressed, User mode, Effective Thread QoS Background, Requested Thread QoS User Initiated, Override Thread QoS Unspecified
User Activity: 4 samples Idle, 0 samples Active
Power Source: 4 samples on Battery, 0 samples on AC
4 ??? (libsystem_pthread.dylib + 47988) [0x19297cb74]
4 ??? (libdispatch.dylib + 272460) [0x19291284c]
4 ??? (libdispatch.dylib + 234828) [0x19290954c]
4 ??? (libdispatch.dylib + 232252) [0x192908b3c]
4 ??? (libdispatch.dylib + 374052) [0x19292b524]
4 ??? (libdispatch.dylib + 371112) [0x19292a9a8]
4 ??? (MapKit + 2117972) [0x1a082d154]
4 ??? (OutRun + 57592) [0x1025760f8]
4 ??? (OutRun + 56592) [0x102575d10]
4 ??? (CoreGraphics + 2057740) [0x199b3060c]
4 ??? (CoreGraphics + 2018192) [0x199b26b90]
4 ??? (CoreGraphics + 2010616) [0x199b24df8]
4 ??? (CoreGraphics + 2667096) [0x199bc5258]
3 ??? (CoreGraphics + 2405524) [0x199b85494]
1 ??? (CoreGraphics + 2405380) [0x199b85404]
Binary Images:
0x102568000 - ??? OutRun <16897B6D-1DC9-3E27-880F-64C7E8BE6F19> /private/var/containers/Bundle/Application/52CAF9F6-730C-4E54-9973-DA52B0F3BE23/OutRun.app/OutRun
0x1928d0000 - 0x192944fff libdispatch.dylib <D4F3CE0B-EB3B-3EC8-94E8-82BCD861983A> /usr/lib/system/libdispatch.dylib
0x192971000 - 0x192981fff libsystem_pthread.dylib <9386976B-68D4-30AA-B7EC-80E088D3FFD1> /usr/lib/system/libsystem_pthread.dylib
0x19993a000 - 0x199ea9fff CoreGraphics <C7B5ACD8-5227-3122-AC18-312F6CC52057> /System/Library/Frameworks/CoreGraphics.framework/CoreGraphics
0x1a0628000 - 0x1a086afff MapKit <69CAF404-31C4-3935-8804-CEEFF7BB7889> /System/Library/Frameworks/MapKit.framework/MapKit
I realize that other features have higher priority, however support for bluetooth sensors such as heartrate, bike pedal cadence etc. is something I would definitely add to the long term roadmap!
Describe the bug
The add-button on an iPhone 8 has no room between the edge of the display and the button. It would look nicer if it has a little more space underneath.
Edit: This happens in more situations. For example in the section with altitude/speed per metres, the metre-numbers are cut off.
Compliments and thanks for creating a small, nice-looking, privacy-friendly app 👍🏿
Device Information (please complete the following information):
Additional context
Add any other context about the problem here.
Is your feature request related to a problem? Please describe.
I would like to be able to track my totals over time. I use OutRun to track all of my cycling, and it would be nice to know what the total miles tracked is, total miles this week, total for the year, etc.
Describe the solution you'd like
Potentially a button that would open up a new screen, maybe another tab on the bottom. Display totals by category (walking, hiking, cycling, running, etc, maybe a combined one) and then within each category, totals for the week/month/year/all time. Maybe a period-to-period comparison as well? That's 12 more miles than last month! (+10%) but defo not required. Maybe some kind of history so you could review totals from past periods?
Describe alternatives you've considered
I've tried using the Apple health integrations, but I can't seem to find an easy way to get totals out of it either. The best I can do is per day and then adding them all up, or taking the month average and multiplying by the number of days cycled in that month. Not ideal.
Did also consider exporting and using Python to figure it out, but that sounded like a lot of effort that would probably be better a dev doing once and integrating into the solution rather than me messing around every time I want to total up my miles.
Describe the bug
Beta version linked in Readme expires next week, so it could create regressions or inconsistencies in the stored data for users using betas that revert to sn old stable release after the expiring date.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Another beta or stable release should fix that.
Is your feature request related to a problem? Please describe.
When looking through the workout history, I would find it very helpful to have the start time displayed without needing to tap into the workout.
Describe the solution you'd like
I think this could be accomplished by using an icon to indicate the workout type and replacing the current workout text with the start time.
I really enjoy using this app and am looking forward to see continuing development. Would it incentivise by giving donations?
Describe the bug
When deleting a workout, Outrun prompts asking whether or not to remove the workout from Apple Health. One of the dialog buttons says "NIL", which I assume should be "Cancel" or something like that.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Button label is not "NIL"
Device Information (please complete the following information):
Additional context None
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.