Giter Club home page Giter Club logo

contactdiary's Introduction

Hi there 👋

I'm a post-doctoral researcher in the Quantum Information Theory group at Université de Genève. My current research focuses, mostly, in the interplays between machine learning and quantum physics, and in quantum nonlocality. In the past, I have also worked in quantum thermodynamics, and in quantum information aspects of quantum field theory.

What you will find 👀

There are a few things that you may find wandering around here:

  • Computational appendices of research papers 🖥️: It is my belief that science should be open and reproducible (and that scientists shouldn't waste their time programming things that have already been programmed). Due to this, I always make an attempt to publishing the computer codes employed in each scientific publication I author. Examples of these computational appendices are triangle-quantum-nonlocality, private-tn, fullnn, rapid, quantum-networks-scalar-extension, gaussianotto, bayesian-dl-quantum (this last one, in GitLab).
  • Teaching material 📚: of different lectures and courses I have taught. This is the case of teaching and BIST-Python-Bootcamp.
  • Learning material 🔍: mostly in classical and quantum machine learning, developed while studying the subjects. Examples are ml-projects, qml-rg, and ebm-torch, which is a library written in Pytorch to train energy-based generative models.
  • An Android app! 📱 which helped me retain sanity during 2020: contactdiary

More ➕

  • 📫 How to reach me: Drop me an email (this is easy to find in the web) or find me on Twitter or Mastodon.
  • 😄 Pronouns: he/him

apozas' GitHub stats

contactdiary's People

Contributors

apozas avatar igor-cali avatar vistaus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

contactdiary's Issues

[Request] Usage of face masks

Alex,

thank you very much for this app, I use it on a daily basis for three weeks now.

I like that you focus on the essential features and resist to add bloat. This keeps the app clean and easy to use.

Having said that, there is one feature I do miss, though. I'd like to note whether the people were wearing a face mask while I met them.
One might argue than this is somehow covered by the "did you keep distance" part. Anyways, and this might be a matter of personal taste, I prefer to note this information separately.

For now, I use the notes field for that purpose. However, I think t would be more convenient to have a radio button for face masks.

Keep up the good work.

[Bug]

Long tapping a contact and selecting "create a copy today" sets the new contact in the last year (2020).

To Reproduce
Steps to reproduce the behavior:

  1. Go to main screen
  2. Long tap on contact and select 'create copy today'
  3. See error: the new contact is placed at the bottom of the list, with correct day and month but wrong year (e.g. 01/01/2020)

Expected behaviour: new contact placed in current year (e.g. 2021).

Not tested for Events.

[Bug] App version 1.4.0 crashes on start

Description of the bug
App crashes on start, rendering it completely unusable.

To Reproduce
Steps to reproduce the behavior:

  1. Open the app. Version 1.4.0.
  2. Get a message saying that the app

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
Attached
Screenshot

System information (please complete the following information):

  • Device: Samsung S7 Edge
  • Android version: 8.0.0
  • OS: Not a custom rom (if this is your question). Kernel version is 3.18.91
  • App version 1.4.0

Crowdin finished many languages

on https://crowdin.com/project/contactdiary i finished:

dutch finished
french finished
german finished
finnish finished
hungarian finished
italian finished
polish finished
indonesian finished
swedish finished
portuguese finished
portuguese, brazilian finished

is my christmas present for you to put "under the christmas tree"

Add duration of events and contacts

Hi!
First, I really like the app and I really appreciate the time and effort that has been put into its development so far!

Regarding the tracking of time, I think it would be good to add an end time and separate it from the default start time of an event or contact. I think the duration is useful information for contact tracing in public spaces and it can be used as a factor in classifying the intensity of a contact.

[Bug] "Make a copy today" doesn't work in 2021

Description of the bug
Long pressing a previous entry and tapping on "Make a copy today" creates an entry with the correct day and month, but the year seems to be hardcoded to 2020. Unfortunately it seems like covid still exists in 2021 :(

To Reproduce
Steps to reproduce the behavior:

  1. Long press an entry from a previous day
  2. Tap on "Make a copy today"
  3. Scroll down to the bottom
  4. See the entry being made for the wrong year

Expected behavior
The duplicated entry should be visible at the top with the correct year

Screenshots
None

System information (please complete the following information):

  • Device: OnePlus 3T
  • Android version: 8.1.0
  • OS: LineageOS with no Google Apps
  • App version: 1.3.2 from F-Droid

Additional context
Add any other context about the problem here.

Add import/export function

Hi thanks for this helpfull app. One feature that I'm missing is the possibility to export the contacts e.g. in case the health department request my contacts it would be handy if I could just export an CSV or something else.
Thanks and keep up the great work!

Multiple choice values get filled in by app

Description of the bug
If you do not specify a value for the 3 multiple choice questions, the app will fill them in (No, Outdoors and Not sure, respectively). This will lead to confusion.

To Reproduce
Steps to reproduce the behavior:

  1. Add new contact
  2. Do not fill in the 3 multiple choice questions
  3. Save and reopen the entry

Expected behavior
When reopening the entry, the multiple choice questions should remain empty.

[Request] Add icon in the item list for better feedback about Contact or Event

Is your feature request related to a problem? Please describe.
The list of contacts and events is flat. There is no way to distinguish in-between them at first glance

Describe the solution you'd like
Add an icon in the item included in the list (simple textView as of today)

Describe alternatives you've considered
Different background colours or similar, but I think a simple icon would be the most effective

Additional context
I tried to experiment myself for a quick PR. Unfortunately currently available drawables are white as the item background.

[Bug] Import of CSV file not possible on different phone

Contact Diary version 1.3.0
Exported CSV file on old phone. Copied to file new phone (via PC), Samsung A51, Android 10, stock OS. Tried to import the file into a fresh install.

ContactDiary.csv cannot be read, it remains greyed out in the choose file to import menu.
It does not work on the SD card, or on the internal memory.
Importing the file on the old phone works.
Exporting a csv file on the new phone and trying to re-import it also fails.
Looking at the file on the PC: it looks just fine, strings separated by tabs, tab 0x0A at the end of the lines.

I can manage -- I'll copy the data into a paper calendar:-) -- but this behaviour is unexpected.

F-Droid build failed

FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':app'.
> Could not create an instance of type com.android.build.api.variant.impl.ApplicationVariantImpl.
   > Namespace not specified. Specify a namespace in the module's build file. See https://d.android.com/r/tools/upgrade-assistant/set-namespace for information about setting the namespace.
     
     If you've specified the package attribute in the source AndroidManifest.xml, you can use the AGP Upgrade Assistant to migrate to the namespace value in the build file. Refer to https://d.android.com/r/tools/upgrade-assistant/agp-upgrade-assistant for general information about using the AGP Upgrade Assistant.
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org/

Could you please take a look? Thanks!

[Bug] Since version 1.4.7, the "make a copy today"-button is missing

Description of the bug
Since upgrading to version 1.4.7, the "make a copy today"-button (and the delete button) in the top right corner of the edit view are missing. It's easier to access than the menu entry (long vs short press), so I don't think it should be removed.

To Reproduce
Steps to reproduce the behavior:

  1. Create a new entry
  2. Click on it
  3. See no buttons in the top right corner

Expected behavior
I expect to see two buttons in the top right corner, one for "make a copy today", and one for "delete".

Screenshots

System information (please complete the following information):

  • Device: Samsung Galaxy A5 (SM-A520F)
  • Android version: 9
  • OS: LineageOS 16.0
  • App version 1.4.7

Additional context
Feel free to ask for any other info you might need!

[Bug] f-droid build failing

Description of the bug
f-Droid build fails due to some issue I do not understand to describe: f-droid wiki
Maybe there is sth. wrong with the updated dependencies?

Expected behavior
Flawless build

Saving of end date is incorrect if end time is set afterwards

Description of the bug
When setting a new contact, if an end time is set after setting an end date, the internals modify the end date previously set. Despite showing the correct end date, saving and opening the contact again show an incorrect end date. This does not happen when the order followed is Begin date - Begin time - End date.

To Reproduce
Steps to reproduce the behavior:

  1. Create new contact or event
  2. Set a begin date
  3. Set an end date different from the begin date
  4. Set a begin time
  5. Save the entry and edit it. The end date is not the original one.

Additional information
When editing the contact/event, the problem does not appear. Therefore, it is only a problem in NewContactActivity and NewEventActivity.

[Bug] "Show close contacts only" option not working; Contact list not changing by choosing this option

Description of the bug
Choosing this option seems to have no effect on my shown contacts

To Reproduce
Steps to reproduce the behavior:

  1. Go to Settings
  2. Click on "show close contacts only" option
  3. Go to contact list
  4. See nothing changes

Expected behavior
List reduces at least by those contacts that I classified as "I kept the distance".

Screenshots
I won't screenshot my contact list here :/

System information (please complete the following information):

  • Device: POCOPHONE F1
  • Android version: 10
  • OS: MIUI 12.0.2
  • App version 1.1.4 (F-Droid)

[Bug]F-Droid build failed

> Task :app:lintVitalGithubRelease FAILED
/home/vagrant/build/com.apozas.contactdiary/android_app/app/src/main/res/values-es/strings.xml:10: Error: "time" is translated here but not found in default locale [ExtraTranslation]
    <string name="time">Hora</string>
            ~~~~~~~~~~~
/home/vagrant/build/com.apozas.contactdiary/android_app/app/src/main/res/values-ca/strings.xml:11: Error: "time" is translated here but not found in default locale [ExtraTranslation]
    <string name="time">Hora</string>
            ~~~~~~~~~~~
/home/vagrant/build/com.apozas.contactdiary/android_app/app/src/main/res/values-cs/strings.xml:11: Error: "time" is translated here but not found in default locale [ExtraTranslation]
    <string name="time">Čas</string>
            ~~~~~~~~~~~
/home/vagrant/build/com.apozas.contactdiary/android_app/app/src/main/res/values-de/strings.xml:11: Error: "time" is translated here but not found in default locale [ExtraTranslation]
    <string name="time">Uhrzeit</string>
            ~~~~~~~~~~~
/home/vagrant/build/com.apozas.contactdiary/android_app/app/src/main/res/values-fi/strings.xml:11: Error: "time" is translated here but not found in default locale [ExtraTranslation]
    <string name="time">Aika</string>
            ~~~~~~~~~~~
/home/vagrant/build/com.apozas.contactdiary/android_app/app/src/main/res/values-fr/strings.xml:11: Error: "time" is translated here but not found in default locale [ExtraTranslation]
    <string name="time">Heure</string>
            ~~~~~~~~~~~
/home/vagrant/build/com.apozas.contactdiary/android_app/app/src/main/res/values-hu/strings.xml:11: Error: "time" is translated here but not found in default locale [ExtraTranslation]
    <string name="time">Idő</string>
            ~~~~~~~~~~~
/home/vagrant/build/com.apozas.contactdiary/android_app/app/src/main/res/values-id/strings.xml:11: Error: "time" is translated here but not found in default locale [ExtraTranslation]
    <string name="time">Waktu</string>
            ~~~~~~~~~~~
/home/vagrant/build/com.apozas.contactdiary/android_app/app/src/main/res/values-ja/strings.xml:11: Error: "time" is translated here but not found in default locale [ExtraTranslation]
    <string name="time">時刻</string>
            ~~~~~~~~~~~
/home/vagrant/build/com.apozas.contactdiary/android_app/app/src/main/res/values-nl/strings.xml:11: Error: "time" is translated here but not found in default locale [ExtraTranslation]
    <string name="time">Tijdstip</string>
            ~~~~~~~~~~~
/home/vagrant/build/com.apozas.contactdiary/android_app/app/src/main/res/values-pl/strings.xml:11: Error: "time" is translated here but not found in default locale [ExtraTranslation]
    <string name="time">Godzina</string>
            ~~~~~~~~~~~
/home/vagrant/build/com.apozas.contactdiary/android_app/app/src/main/res/values-pt-rBR/strings.xml:11: Error: "time" is translated here but not found in default locale [ExtraTranslation]
    <string name="time">Hora</string>
            ~~~~~~~~~~~
/home/vagrant/build/com.apozas.contactdiary/android_app/app/src/main/res/values-ru/strings.xml:11: Error: "time" is translated here but not found in default locale [ExtraTranslation]
    <string name="time">Время</string>
            ~~~~~~~~~~~
/home/vagrant/build/com.apozas.contactdiary/android_app/app/src/main/res/values-sv/strings.xml:11: Error: "time" is translated here but not found in default locale [ExtraTranslation]
    <string name="time">Tid</string>
            ~~~~~~~~~~~
/home/vagrant/build/com.apozas.contactdiary/android_app/app/src/main/res/values-tr/strings.xml:11: Error: "time" is translated here but not found in default locale [ExtraTranslation]
    <string name="time">Saat</string>
            ~~~~~~~~~~~
/home/vagrant/build/com.apozas.contactdiary/android_app/app/src/main/res/values-uk/strings.xml:11: Error: "time" is translated here but not found in default locale [ExtraTranslation]
    <string name="time">Час</string>
            ~~~~~~~~~~~
/home/vagrant/build/com.apozas.contactdiary/android_app/app/src/main/res/values-zh-rTW/strings.xml:11: Error: "time" is translated here but not found in default locale [ExtraTranslation]
    <string name="time">時間</string>
            ~~~~~~~~~~~

   Explanation for issues of type "ExtraTranslation":
   If a string appears in a specific language translation file, but there is
   no corresponding string in the default locale, then this string is probably
   unused. (It's technically possible that your application is only intended
   to run in a specific locale, but it's still a good idea to provide a
   fallback.)

   Note that these strings can lead to crashes if the string is looked up on
   any locale not providing a translation, so it's important to clean them
   up.

17 errors, 0 warnings
Lint found fatal errors while assembling a release target.

To proceed, either fix the issues identified by lint, or modify your build script as follows:
...
android {
    lintOptions {
        checkReleaseBuilds false
        // Or, if you prefer, you can continue to check for errors in release builds,
        // but continue the build even when errors are found:
        abortOnError false
    }
}
...

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:lintVitalGithubRelease'.
> A failure occurred while executing com.android.build.gradle.internal.lint.AndroidLintTask$AndroidLintLauncherWorkAction
   > There was a failure while executing work items
      > A failure occurred while executing com.android.build.gradle.internal.lint.AndroidLintWorkAction
         > Lint found fatal errors while assembling a release target.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Could you please take a look? Thanks!

a treat for you, too

i still have a treat for you before christmas.
i promote free software by painting fdroid logos as acrylic paintings and promoting them on mastodon and pixelfed. I hope you are happy.

Cannot store a contact or event accross different dates

Use case: need to store contact event ending the day after the start. E.g. an event starting to 01/09/21 20 PM and ending on 02/09/21 2 AM.

Currently I can either end the event at 23:59 same day or store two different events.

I would like both the start and end dates to be shown in the main screen if they're different.

[Request] Change required fields

First off, thank you so much for making this app! I think this is the kind of contact tracing that will be most effective. While Apple/Google's solution may work, it requires a lot of things many people aren't comfortable with, like leaving Bluetooth on 24/7.

My only problem with the app is that sometimes, I don't want to put in all of the information the app currently requires for a contact (event, close contact, relative/close friend, etc.). It's not a matter of security, as that information can't be transfered easily without network access.

The problem is simply one of convenience. As a college student, I want to keep track of who I'm in contact with. I wish I could just enter a friend's name, have the date autofill, and just leave it at that. I don't necessary want to have to enter all of the info each and every time I enter someone's name, especially if I'm entering multiple friends' names. I'd like to enter their name and leave it at that. That is all I need to (or want to) keep track of.

I just want to use this app to make a list of everyone I'm I'm close contact with so I can text them all if I catch covid. I don't always need to know if I was in contact with them inside or outside - if i catch covid, either I'll need to text them or not.

This could either be implemented as an option. Users would choose which fields are required. The easier fix is to only require the person's name, but that allows for less customisability.

F-Droid build failed

https://monitor.f-droid.org/builds/log/com.apozas.contactdiary/24#site-footer


FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:lintVitalGithubRelease'.
> A failure occurred while executing com.android.build.gradle.internal.lint.AndroidLintTask$AndroidLintLauncherWorkAction
   > There was a failure while executing work items
      > A failure occurred while executing com.android.build.gradle.internal.lint.AndroidLintWorkAction
         > Lint found fatal errors while assembling a release target.

Could you please take a look? Thanks!

App doppelt Begegnungen aus 2020 nicht für 2021

Ich kann die Einträge aus dem alten Jahr nicht ins neue kopieren (z.B. meine Familie). Das Erstellen von neuen Kontaktbegegnungen geht grundsätzlich aber schon.

Ich nutze ein Fairphone 3, Android 10, die App-Version beziehe ich aus F-Droid und sie ist 1.3.2

[Request] Support sharing of UK NHS Venue QR Code scans

Is your feature request related to a problem? Please describe.
Lots of places in the UK display a NHS QR code poster (including some required by law such as eateries but they are mostly closed right now due to lockdown). That code is intended to be read by their official app which only works on some devices, because it requires the bluetooth exposures API and closes itself otherwise, so people with older phones cannot use the scanner. It would be great to be able to scan this with a regular QR app (such as SecScanQR) and use it to start a Contact Diary entry.

Describe the solution you'd like
Enable Contact Diary as a target for the Share function and if the Share is text starting "UKC19TRACING:" then extract the second dot-delimited part, base64-decode it to get the JSON and use the id and opn fields as the Event Name and pc (postcode) field as the Place, with the current Date and Time as the start time. Maybe put "Shared from UKC19TRACING. You still need to register your details at the venue." in the Notes field.

Describe alternatives you've considered
Coding it myself but I would be replicating Contact Diary's functions.

Additional Context
An explanation of the QR code format is included near the top of https://www.revk.uk/2020/09/how-not-to-qr-nhs-c19-app.html before most of the criticism of it.

F-Droid Build Fails on versions 1.4.1 and 1.4.2

* What went wrong:
Execution failed for task ':app:mergeGithubReleaseResources'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > Android resource compilation failed
     /home/vagrant/build/com.apozas.contactdiary/android_app/app/src/main/res/layout/activity_addcontact_inside.xml:90: AAPT: error: duplicate attribute.
         
     /home/vagrant/build/com.apozas.contactdiary/android_app/app/src/main/res/layout/activity_addcontact_inside.xml: AAPT: error: file failed to compile.

https://f-droid.org/wiki/page/com.apozas.contactdiary/lastbuild_19
https://f-droid.org/wiki/page/com.apozas.contactdiary/lastbuild_17

Btw: there is a new app on F-Droid called "F-Droid Build Status" https://f-droid.org/en/packages/de.storchp.fdroidbuildstatus/
There you can receive notifications if a new build fails and directly have a look at the log.

[Request] Please add access to the phone contact list option

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 [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.
When you add a contact, be able to select an existing one from the phones contact app

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

[Request] Dark mode

My eyes would love to see a dark mode or black theme inside your great app.
This could save battery and preserve somebody's eyes from burning, especially in dark environments.

[Bug] When copy contact for today the year is set to 2020 instead of 2021

Description of the bug
When I use the feature "Copy contact for today" the year gets set to 2020 instead of 2021.

To Reproduce
Use the copy contact for today feature.

Expected behavior
Date should be with 2021 as year.

Screenshots
None for now

System information (please complete the following information):

  • Device: Moto G8 Power
  • Android version: 10
  • OS: Lineage OS Custom Build
  • App version: 1.3.2

Additional context
None for now

[Request] Indonesian language

I want to help translate Contact Diary to Bahasa Indonesia (Indonesian) 🇮🇩.
Please add to the listed translations.

[Bug] Crash when entering malformed hour:minute duration

Description of the bug
The App crashes when the duration is a malformed hour:minute string

To Reproduce
Steps to reproduce the behavior:

  1. Add new entry
  2. Select duration field
  3. Enter a malformed hour:minute duration like ”:30“ or ”1:“, or something non-numerical

Expected behavior
Either an error message or more lenient parsing which sets the hours/minutes to zero when they are missing or unparsable.

Additional information
App Version: 1.2.0
Android Version: 10

[Bug] Crash when trying to edit contact

Description of the bug
After update to Version 1.1.3 from fdroid, the app crashes when I try to open two specific saved contacts from 5 and 4 days ago. All other saved contacts and events are fine.

I catched this with logcat:

ClassLoader referenced unknown path: /data/app/com.apozas.contactdiary-1/lib/arm

FATAL EXCEPTION: main
Process: com.apozas.contactdiary, PID: 13761
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.apozas.contactdiary/com.apozas.contactdiary.EditContactActivity}: java.lang.NullPointerException: null cannot be cast to non-null type android.widget.RadioButton
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2699)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2766)
	at android.app.ActivityThread.-wrap12(ActivityThread.java)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1507)
	at android.os.Handler.dispatchMessage(Handler.java:102)
	at android.os.Looper.loop(Looper.java:154)
	at android.app.ActivityThread.main(ActivityThread.java:6236)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:891)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:781)
Caused by: java.lang.NullPointerException: null cannot be cast to non-null type android.widget.RadioButton
	at com.apozas.contactdiary.EditContactActivity.onCreate(EditContactActivity.kt:74)
	at android.app.Activity.performCreate(Activity.java:6684)
	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2652)
	... 9 more

  Force finishing activity com.apozas.contactdiary/.EditContactActivity

  Force finishing activity com.apozas.contactdiary/.MainActivity

To Reproduce
Steps to reproduce the behavior:
Unfortunately I can't remember what I saved in these two contacts. They were not special or different to the others, I would say.
And since the app crashes immediately, I can't see what was saved.

Expected behavior
I open the app, tap on the saved contact and can review and edit the previously saved data.

System information (please complete the following information):

  • Device: HTC One
  • Android version: 7.1.2
  • App version: 1.1.3

[Request] FAB should respond when keyboard is showing

Is your feature request related to a problem? Please describe.
When editing contact / event details, the Floating Action Button (FAB) is nicely positioned above the keyboard, so I always press it after I completed the last input field (with the keyboard still showing). But instead of saving and closing the entry as expected, it merely closes the keyboard. So in effect, you need to press it twice.

Describe the solution you'd like
The FAB should respond with saving&closing the entry, even when the keyboard is showing. This is the expected behavior.

Events and contact attributes not saved

Hi!
The values "relative or close fried" - "yes", "encounter type" - "indoors" and "kept the distance" - "no" are not saved correctly with the event/contact. Instead, the values revert to "no", "outdoors" and [nothing].

Reproduce:
tap create a new contact
enter name, place, date.
tap "yes", "indoors" and "no".
tap check mark icon to save
tap entry for the newly created contact in the list
-> values "no" and "outdoors" are selected, and nothing on the third question.

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.