Git Product home page Git Product logo

frames's Introduction

👋  Hello, world!
I am Jahir Fiquitiva

I'm a passionate and creative full-stack software engineer from Colombia 🇨🇴

I consider myself a curious and inquisitive person and a continuous learner, so on my spare time I like to work on side projects and try to keep learning new stuff to improve my skillset.

If you are interested in knowing which tools I use, you can check out my uses page ⚡️

You can find me on:

Support my work on:

🚀   Skills
Android Kotlin Java Python JavaScript TypeScript HTML5 CSS3 NodeJS React NextJS Styled Components Tailwind MongoDB Express Git Material Design
📝   Latest Blog Posts
📊   GitHub Statistics
GitHub Stats/Statistics GitHub Top or Most Used Languages
✨   GitHub Activity
  1. 🗣 Commented on #31 in braintree/card-validator
  2. 💪 Opened PR #268 in jahirfiquitiva/Frames
  3. 🗣 Commented on #84 in jahirfiquitiva/jahir.dev
  4. ❗️ Closed issue #84 in jahirfiquitiva/jahir.dev
  5. ❗️ Opened issue #166 in vercel/react-tweet
  6. More…
💿   Spotify Activity

frames's People

Contributors

jahirfiquitiva 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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

frames's Issues

App Crash When Using One Signal

  • [Y] I have verified there are no duplicate active or recent bugs, questions, or requests
  • [Y] I have verified that I am using the latest version.

Device/App info:

  • Frames Version: 2.5.3
  • Android version: In all of the Phones
  • Device Manufacturer: Samsung
  • Device Name: Tested in S9+

Describe the bug

I have installed the codes according to the instructions and everything went well but after that, when I send a notification from one signal the app crash in all of the phones

Expected behavior

The notification shows like any app

Screenshots

none

Support .WEBP format for wallpapers

Is your feature request related to a problem? Please describe.

WEBP image format allows much better compression for wallpapers than PNG. While preserving similar quality level as PNG, the WEBP format has much lesser size allowing to load wallpapers faster.

Describe the solution you'd like

Adding WEBP support for wallpapers

Describe alternatives you've considered

While JPEG images in general are smaller than PNG, PNG images have better quality. WEBP has both of these advantages.

Additional context

How to paste admob codes

How do I add an intestitial adcode by admob.bcz with out ad app is just a waste.any helps plz cmt

Adcode

1st of all thank u mam for this great work
Mam could you please help me to add adcode for andmob to the project

Logo/Icon Proposal

Hi good day! I would like to ask for your permission to propose a new designs of logo in your application/project. I would like to help projects in open-source .I would just like to propose new designs. Hoping for your positive response Thank You!

Grid Fragment Stuck in Reload Animation loop after swiping from Collections

Device/dashboard info:
  • Frames version: 2.1.3
  • Device OS version: 7.0.0
  • Device Manufacturer: Samsung S8

At launch, the application is stuck in the loading animation, and does not display the pictures unless I drag from top to bottom.

Second, when we select a wallpaper to view, then we go back to the main activity, the activity flickers and re-position itself, for no apparent reason.

Third, when we navigate to the "Collection" tab, and we go back to the "All" tab, the "All" tab reloads for no reason (?) and is stuck in the loading animation again, until I swipe up to bottom.

Lastly, even those I set these wallpapers as downloadable, but when I click to view any wallpapers, the download button is not present.

Disclaimer: I changed all of my wallpapers to this wallpaper in respect to the request of the artists. But the numbers of wallpapers remain the same and the behavior of the application did not change.

Slow UI with a large amount of (~15k) wallpapers

  • I have verified there are no duplicate active or recent bugs, questions, or requests
  • I have verified that I am using the latest version of Frames.
Device/dashboard info:
  • Frames version: 2.1.1
  • Device OS version: API 27 (8.1.0)
  • Device Manufacturer: Google
  • Device Name: Pixel XL
Reproduction Steps
  1. The usual app-building steps with this JSON file.
  2. Open and use the app.
Expected Result

Fast UI.

Actual Result

Very slow UI. Search works slowly, and hangs often. It takes ~30 seconds for the app to load each time.

Desktop Shortcuts

Is your feature request related to a problem? Please describe.

Would be quick and easy for the user to be able functions of the app from the home screen

Describe the solution you'd like

Add support for desktop shortcuts that was introduced in Android 7.1

Describe alternatives you've considered

Additional context

Bottom Sheet doesn't draw behind on-screen navbar (on devices with on-screen navbar)

  • I have verified there are no duplicate active or recent bugs, questions, or requests
  • I have verified that I am using the latest version of Frames.

Device/dashboard info:

  • Frames version: 2.3.5
  • Android version: 8.1
  • Device Manufacturer: Motorola
  • Device Name: Moto G3 (2015)

Reproduction Steps

This is noticed on devices with on-screen navbar only and when bottom sheet is enabled for displaying wallpaper info.

  1. Go to wallpaper preview screen.
  2. Tap on wallpaper info icon (i enclosed in a circle).
  3. The bottom sheet displaying wallpaper info is shown.

Expected Result

The bottom sheet draws up behind the navbar too, maintaining uniformity.

Actual Result

The bottom sheet doesn't draw behind the navbar, but draws up from the region above it.

Screenshot

Sscreenshot
Screenshot of a wallpaper from Blueprint sample app.

testing

Is your feature request related to a problem? Please describe.

Describe the solution you'd like

Describe alternatives you've considered

Additional context

Add Option to download in different resolution.

  • I have verified there are no duplicate active or recent bugs, questions, or requests
  • I have verified that I am using the latest version of Frames.
Device/dashboard info:
  • Frames version: New Idea
  • Device OS version: New
  • Device Manufacturer: `New'
  • Device Name: New
    It will be great if you add feature that app can automatically select user's device resolution and serve wallpaper according to their screen resolution from json

WallPapers Viewer Activity and Main Layout

  • I have verified there are no duplicate active or recent bugs, questions, or requests
  • I have verified that I am using the latest version of Frames.
Device/dashboard info:
  • Frames version: 2.1.3
  • Device OS version: 7.0
  • Device Manufacturer: Xioami
  • Device Name: Note 4

When I scroll to middle of wallpapers in MainActivity, I opened one wallpaper and I downloaded that. But when I press back button it goes to first page of recently added wallpapers. Hope you can understand what I coming to say.

I don't know how to fix it myself.

Donations

How can I use the donation feature?

Warning:there were 27 unresolved references to classes or interfaces.

Warning:ca.allanwang.kau.utils.ActivityUtilsKt: can't find referenced class com.mikepenz.iconics.typeface.IIcon
Warning:ca.allanwang.kau.utils.IIconUtilsKt: can't find referenced class com.mikepenz.iconics.IconicsDrawable
Warning:ca.allanwang.kau.utils.IIconUtilsKt: can't find referenced class com.mikepenz.iconics.typeface.IIcon
Warning:ca.allanwang.kau.utils.IIconUtilsKt: can't find referenced class com.mikepenz.iconics.IconicsDrawable
Warning:ca.allanwang.kau.utils.IIconUtilsKt: can't find referenced class com.mikepenz.iconics.typeface.IIcon
Warning:ca.allanwang.kau.utils.IIconUtilsKt: can't find referenced class com.mikepenz.iconics.IconicsDrawable
Warning:ca.allanwang.kau.utils.IIconUtilsKt: can't find referenced class com.mikepenz.iconics.typeface.IIcon
Warning:ca.allanwang.kau.utils.IIconUtilsKt$toDrawable$1: can't find referenced class com.mikepenz.iconics.IconicsDrawable
Warning:ca.allanwang.kau.utils.ViewUtilsKt: can't find referenced class com.mikepenz.iconics.typeface.IIcon
Warning:ca.allanwang.kau.utils.ViewUtilsKt: can't find referenced class com.mikepenz.iconics.IconicsDrawable
Warning:ca.allanwang.kau.utils.ViewUtilsKt: can't find referenced class com.mikepenz.iconics.typeface.IIcon
Warning:ca.allanwang.kau.utils.ViewUtilsKt$setIcon$1: can't find referenced class com.mikepenz.iconics.IconicsDrawable

  • [ x] I have verified there are no duplicate active or recent bugs, questions, or requests
  • [ x] I have verified that I am using the latest version of Frames.

Device/dashboard info:

  • Frames version: 2.3.2
  • Android version: Android Studio

Admob

Hi Jahir, you really did a good job. I made the application and I wanted to add admob ads. Is this at all possible? I tried to add, and there was always some problem.

Bottom Navigation bar

Can change the top navigation bar to bottom navigation bar. Or just tell me in which file i can do that

test

  • I have verified there are no duplicate active or recent bugs, questions, or requests
  • I have verified that I am using the latest version.

Device/App info:

  • Frames Version: ?
  • Android version: ?
  • Device Manufacturer: ?
  • Device Name: ?

Describe the bug

A clear and concise description of what the bug is.

Reproduction Steps

Expected behavior

Screenshots

Code and/or Logs

println("Hello, world!")
java.lang.RuntimeException: This is an example Exception log
    at com.package.name.HelloWorld
    at com.package.name.HelloWorld$ThisIsNotARealLog
    at android.app.Instrumentation.callActivityOnResume(Instrumentation.kt)

Additional context

French Translation Issues (Screenshots)

  • I have verified there are no duplicate active or recent bugs, questions, or requests
  • I have verified that I am using the latest version.

Device/App info:

  • Frames Version: 2.4.2
  • Android version: 7.1.2
  • Device Manufacturer: Huawei
  • Device Name: Honor 5X

Describe the bug

Some string are don't well translate, in french like : "Applying '%1$s'…" => "Application '%1$s'…"
When i download or apply wallpaper, i don't see the wallpaper name. I check on my other app based on 2.3.8 library version, there is no problem.

Reproduction Steps

  1. Open App
  2. Choose Wallpaper
  3. Download or apply it
  4. The windows dialog show "Application '%1$s'…"

Expected behavior

A worth translation
screenshot_20180603-140956
screenshot_20180603-141007

Screenshots

Attached

FAQ

Greetings, this is a great project and I would love to contribute to it, would you mind if i develop a FAQ page for it?

Camera details

Can you add support for viewing the camera details?
The camera model, ISO, shutter speed, aperture...

Would be a really nice feature

Firebase Issue

Iam getting this issue after following wiki in firebase

Error:Execution failed for task ':app:compileDebugKotlin'.

Compilation error. See log for more details

java.lang.OutOfMemoryError

  • I have verified there are no duplicate active or recent bugs, questions, or requests
  • I have verified that I am using the latest version of Frames.

Device/dashboard info:

  • Frames version: 2.3.2
  • Android version: 7
  • Device Manufacturer: Samsung,LG,Motorola
  • Device Name: Samsung Galaxy S6 Edge (zerolte),LGE LG G6 (lucye),Motorola Moto G (5S) Plus (sanders_n)
println("Hello, world!")
at dalvik.system.VMRuntime.newNonMovableArray (Native Method)
  at android.graphics.BitmapFactory.nativeDecodeStream (Native Method)
  at android.graphics.BitmapFactory.decodeStreamInternal (BitmapFactory.java:726)
  at android.graphics.BitmapFactory.decodeStream (BitmapFactory.java:702)
  at android.graphics.BitmapFactory.decodeFile (BitmapFactory.java:474)
  at android.graphics.BitmapFactory.decodeFile (BitmapFactory.java:508)
  at jahirfiquitiva.libs.frames.ui.fragments.dialogs.WallpaperActionsDialog.doOnSuccess (Unknown Source)
  at jahirfiquitiva.libs.frames.ui.fragments.dialogs.WallpaperActionsDialog.access$doOnSuccess (Unknown Source)
  at jahirfiquitiva.libs.frames.ui.fragments.dialogs.WallpaperActionsDialog$onCreateDialog$$inlined$let$lambda$1$1.onSuccess (Unknown Source)
  at jahirfiquitiva.libs.kauextensions.helpers.DownloadThread$run$$inlined$let$lambda$2.run (Unknown Source)
  at android.os.Handler.handleCallback (Handler.java:751)
  at android.os.Handler.dispatchMessage (Handler.java:95)
  at android.os.Looper.loop (Looper.java:154)
  at android.app.ActivityThread.main (ActivityThread.java:6682)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1520)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1410)

<!--
The required steps to reproduce it.
-->
### Reproduction Steps

1. 
2. 
3. 


### Expected Result


### Actual Result


<!--
Adding pictures/screenshots/videos of the expected/actual result is always helpful :)
-->

Force Closing

I tried to compile the app & the app force closes. i tried without changing anything in the code.

Adcode

1st of all thank u mam for this great work
Mam could you please help me to add adcode for admob to the project

Remove the Collection Tab and Just have ALL and Favorites ?

Is it possible in my code to remove the Collection Tab and Just have ALL and Favorites ?
Most of the wallpapers are vertical so that the images show in the collection thumbnail is a bit off

Or is it possible to put a particular thumbnail for the the collection page tabs ?

Doesn't load already loaded wallpapers

  • I have verified there are no duplicate active or recent bugs, questions, or requests
  • I have verified that I am using the latest version.

Device/App info:

  • Frames Version: 2.5.3
  • Android version: 9
  • Device Manufacturer: Xiaomi
  • Device Name: Gemini

Describe the bug

loaded images get disappear suddenly, After reloading couple of times it comes back. Even with decent internet the pictures get loaded successfully but somehow it disappears and reload again and again.

Expected behavior

I expected frames to load images and keep it as it is. But it reloads and fetch walls from the internet which

Screenshots

photo_2018-11-07_09-08-18 2
photo_2018-11-07_09-08-18 3
photo_2018-11-07_09-08-18

Help Needed

  • [ T ] I have verified there are no duplicate active or recent bugs, questions, or requests
  • [ T ] I have verified that I am using the latest version.

Device/App info:

  • Frames Version: 2.5.3
  • Android version: 8.0
  • Device Manufacturer: Samsung
  • Device Name: S9+

Describe the bug

I tried to enable the notification service and I don't know what happened it crashes every time I send a notification from onesignal i totally followed the steps in the wiki

Expected behavior

it should work fine

Screenshots

I'll post a video if you need further info

Code and/or Logs [ are from Logcat ]

12-11 20:50:57.433 2134-2134/com.mauyed.wallpapers E/AndroidRuntime: FATAL EXCEPTION: main Process: com.mauyed.wallpapers, PID: 2134 java.lang.RuntimeException: Unable to instantiate service jahirfiquitiva.apps.frames.sample.NotificationService: java.lang.ClassNotFoundException: Didn't find class "jahirfiquitiva.apps.frames.sample.NotificationService" on path: DexPathList[[zip file "/data/app/com.mauyed.wallpapers-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] at android.app.ActivityThread.handleCreateService(ActivityThread.java:2746) at android.app.ActivityThread.access$1800(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1386) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) Caused by: java.lang.ClassNotFoundException: Didn't find class "jahirfiquitiva.apps.frames.sample.NotificationService" on path: DexPathList[[zip file "/data/app/com.mauyed.wallpapers-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at android.app.ActivityThread.handleCreateService(ActivityThread.java:2743) at android.app.ActivityThread.access$1800(ActivityThread.java:151)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1386)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:135)  at android.app.ActivityThread.main(ActivityThread.java:5254)  at java.lang.reflect.Method.invoke(Native Method)  at java.lang.reflect.Method.invoke(Method.java:372)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)  Suppressed: java.lang.ClassNotFoundException: jahirfiquitiva.apps.frames.sample.NotificationService at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 11 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

Input dispatching timed out (Waiting to send non-key event because the touched window has not finished processing certain input events that were delivered to it over 500.0ms ago. Wait queue length: 21. Wait queue head age: 9332.9ms.)

  • I have verified there are no duplicate active or recent bugs, questions, or requests
  • I have verified that I am using the latest version of Frames.

Device/dashboard info:

  • Frames version: 2.3.2
  • Android version: 7
  • Device Manufacturer: Huawei
  • Device Name: Huawei P10 (HWVTR)

Can't Find Import Lines

Not being able to find import packagename buildconfig
In order to remove red application.

test

  • I have verified there are no duplicate active or recent bugs, questions, or requests
  • I have verified that I am using the latest version.

Device/App info:

  • Frames Version: ?
  • Android version: ?
  • Device Manufacturer: ?
  • Device Name: ?

Describe the bug

A clear and concise description of what the bug is.

Reproduction Steps

Expected behavior

Screenshots

Code and/or Logs

println("Hello, world!")
java.lang.RuntimeException: This is an example Exception log
    at com.package.name.HelloWorld
    at com.package.name.HelloWorld$ThisIsNotARealLog
    at android.app.Instrumentation.callActivityOnResume(Instrumentation.kt)

Additional context

Where to add wallpapers(Now I got it)

I was just looking around your app and I am not getting that which database you used, can you tell me from where I can add wallpapers in this app.

How to add adcode

Can u plz tell how to add admob add codes...since there are no layout files...plz tell me where should I place it...can u plz add a demo file for it... Plz help some how plz plz pl

Memory Leak

  • I have verified there are no duplicate active or recent bugs, questions, or requests
  • I have verified that I am using the latest version.

Device/App info:

  • Frames Version: 2.4.6
  • Android version: 8.1 / 7.0 (emulator)
  • Device Manufacturer: LG
  • Device Name: Nexus 4

Describe the bug

Memory Leak on scrolling big list of images.
My guess is that there are some references left while loading image with Glide into RecyclerView that prevents garbage collector to free memory.

Reproduction Steps

  1. Add json_url with 200 images
  2. Scroll down wallpapers list

Expected behavior

Memory usage should not grow that big

Screenshots

Profiler screenshot

Code and/or Logs

Additional context

license dialog

license dialog appears every time on launching the app.
and also when scrolling down the wallpapers list and setting it as wallpaper and hitting back will take you to the top of the list and have to scroll down back again.

How to change notification icon?

Device/dashboard info:
  • Frames version: 2.0.9
  • Device OS version: 7.1
  • Device Manufacturer: Samsung
  • Device Name: S7 Edge

May i know how to change Notification icon?

Proposal for a logo

Hello, Good day. How you doing?

I came across your project and even downloaded the app but discovered it has no logo.

So I decide that as an open source contributor and a graphics designer, I should make one for you.
The logo can also serve as your icon. Which I will make.

frames
Here is the logo. I hope you do like it.

If you have any correction or wants to change the logo, let me know. Or if you have any idea in mind.

Changelog content not visible when using Transparent theme

@SanchithHegde commented on Feb 17, 2018, 5:02 PM UTC:

  • I have verified that there are no duplicate active or recent bugs, questions, or requests.
  • I have verified that I am using the latest version of Kuper.

Device/dashboard info:

  • Kuper version: 1.2.7

Reproduction Steps:

  1. Open app. Set "Transparent" theme from Settings.
  2. Tap on 3-dot menu. Tap on "Changelog". The Changelog dialog is shown.

Expected Result

Changelog text is clearly visible with greyish text colour.

Actual Result

Changelog text is not visible. Probably because text colour is same as background colour.

P.S.: I have checked with other themes also. This does not happen with other themes.

This issue was moved by @jahirfiquitiva from jahirfiquitiva/Kuper/issues/18.

Image transition glitch

  • I have verified there are no duplicate active or recent bugs, questions, or requests
  • I have verified that I am using the latest version of Frames.

Device/dashboard info:

  • Frames version: 2.3.8
  • Android version: 8.1.0
  • Device Manufacturer: LG
  • Device Name: Nexus 4

Reproduction Steps

  1. Tap any image for the first time

Expected Result

Smooth transition

Actual Result

Image transition glitch for the first time image loaded, but smooth on sequantional taps
Recorded video: https://www.youtube.com/watch?v=ewdcIlo04WQ

app not starting on API 22 (HONOR 6X) OR ANDROID 7.0

  • I have verified there are no duplicate active or recent bugs, questions, or requests
  • I have verified that I am using the latest version.

Device/App info:

  • Frames Version: 2.6.0
  • Android version: 7.0
  • Device Manufacturer: Honor
  • Device Name: Honor 6x

Describe the bug

the app unfortunately stopped when i am runnig it via usb debugging

Reproduction Steps

Expected behavior

Screenshots

Code and/or Logs

println("Hello, world!")
java.lang.RuntimeException: This is an example Exception log
    at com.package.name.HelloWorld
    at com.package.name.HelloWorld$ThisIsNotARealLog
    at android.app.Instrumentation.callActivityOnResume(Instrumentation.kt)

Additional context

Java Source Code Need !

I want Java source Code instead Kotlin Because Frame Zip Not Contain Layout Folder I want to Customize App

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.