Coder Social home page Coder Social logo

jcorporation / mympd Goto Github PK

View Code? Open in Web Editor NEW
379.0 20.0 61.0 79.9 MB

myMPD is a standalone and mobile friendly web mpd client with a tiny footprint and advanced features.

Home Page: https://jcorporation.github.io/myMPD/

License: GNU General Public License v3.0

CMake 1.04% CSS 0.95% HTML 7.79% JavaScript 32.53% C 53.87% Shell 2.61% Perl 0.30% Makefile 0.24% Lua 0.40% Roff 0.27%
mpd-client jukebox timer smart-playlists scripting lua

mympd's People

Contributors

benjaminhae avatar dependabot[bot] avatar dgcampea avatar dvzrv avatar embhd avatar ettom avatar flyingfishflash avatar itspec-ru avatar jcorporation avatar jpleau avatar juergenmang avatar kernald avatar kurt-vd avatar laclaro avatar michaing avatar nighoo avatar nofre avatar notandy avatar othmar52 avatar p3732 avatar parabelboi avatar phmongeau avatar robertek avatar soya-daizu avatar superbfg7 avatar tmn505 avatar tsunulukai avatar unknownloner avatar warhog avatar warr1024 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

mympd's Issues

mympd should be system user & group instead of normal user & group

add "-r" or "--system" to lines 54 & 56 in mkrelease.sh
54: [ "$?" = "2" ] && sudo groupadd -r mympd
56: [ "$?" = "2" ] && sudo useradd -r -g mympd -d /var/lib/mympd -s /usr/sbin/nologin mympd

From an organizational standpoint it's better to use a system account for a service as opposed to a normal user account. Will also keep mympd out of the login dialog.

from the man page:

-r, --system
Create a system account.

System users will be created with no aging information in /etc/shadow, and their numeric identifiers are chosen in the SYS_UID_MIN-SYS_UID_MAX range, defined in /etc/login.defs,
instead of UID_MIN-UID_MAX (and their GID counterparts for the creation of groups).

Note that useradd will not create a home directory for such a user, regardless of the default setting in /etc/login.defs (CREATE_HOME). You have to specify the -m options if you want
a home directory for a system account to be created.

Show search results for words with two characters

I noticed that Search doesn't give any result when looking for artists (or any other tag) that have name with two characters, ex. OM or U2 or XX or...

It would be really nice if search output could show these results.

Greetings,
Mike

Letters work perfect at webradio list but

Another small(i hope) issue is with letters.

They work at webradio list and not in directory(or file, etc...) level. Actually they work with some letters and if the results extends to another page it is blank.

Weird results :)

Cannot add songs with " ' " in their filenames

Describe the bug
Cannot add songs with " ' " in their filenames

To Reproduce
Steps to reproduce the behavior:

  1. Go to Search tab
  2. Click on a song that has " ' " in the name(for ex. Don't go)
  3. See error

Expected behavior
To be added at queue

Screenshots
untitled-1

Desktop (please complete the following information):

  • OS: Windows 10
  • Browser Firefox
  • Version latest

a suggestion for improvements in search

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

This is obviously a feature request and not an issue. Having been using ympd for years (which is the base of myMPD), I always found search results one of the weakest points of this client.

Describe the solution you'd like

Let's say that I search for "Radiohead".

The current results will be all Radiohead songs in a list where I can choose which ones to add in queue. This is ok, but it would be really nice if I could add the whole album that the track belongs to. For example using an icon on the right side ( named ex. "add whole album") of one track the user could have the option to add a whole album and not only the track itself.

Describe alternatives you've considered

The ideal search in my opinion should be based in tags. It would be perfect If I wanted to search for Artists, and I got results for all their albums or search for albums etc..

Additional context

I know it's much easier to ask others to write code for something you want than writing it yourself (unfortunately I am not a coder btw.). I don't want to be this guy. I just want to share some ideas with you. If you don't like my suggestions, please ignore me.

Thanking you in advance,

Mike

Package contains reference to $srcdir

Describe the bug
Package contains reference to $srcdir in mympd binary when building in arch linux (armv7 and x86_64)

  • v3.0.0
  • v3.0.1
  • latest git master branch
  • latest devel.

To Reproduce
Steps to reproduce the behavior:
build package using mkrelease.
run:
$ grep -R "$(pwd)/src" release/mympd
will return: Binary file release/mympd matches

Desktop (please complete the following information):

  • Arch Linux Linux 4.14.52-1-ARCH #1 SMP Thu Jun 28 00:45:47 UTC 2018 armv7l GNU/Linux
  • confirmed on Arch Linux 4.17.2-1-ARCH #1 SMP PREEMPT Sat Jun 16 11:08:59 UTC 2018 x86_64 GNU/Linux
  • also confirmed on Debian Testing 4.14.17-1 (2018-02-14)

**Additional Information
No issues in build with v2.3.0 and prior on both arch and debian testing.

Click on Update Dabase dont respond in ui

Describe the bug
If you click update database there is no feedback in gui, if notifications are disabled.

Expected behavior
Provide feedback ob update database progress.

Page navigation is not functional in Database tab of Browse section

Hi jcorp,

I am currently testing your latest master and found the following:

Page navigation is not functional in Database tab of Browse section. I can see that my library is 8 pages, but apart from the first page I cant go to any other.

I tested with latest Firefox and Chromium under Archlinux on my desktop PC and the behaviour is the same in both browsers

Last but not least, I don't know If I should add here a small note on a feature request:

It would be really nice that "<<Page 1/X>>" is replaced with the standard filter of file system tab. This way, artist navigation will be easier than ever.

Thank you in advance,

Mike

MPD Feature Detection

Detect mpd features after connection establishment and disable appropriated myMPD features.

  • MPD protocol version
  • Sticker support

Sticker database is disabled

Describe the bug
When i press the option "Songdetails" i get the message "Sticker database is disabled"
Blank statistics page

To Reproduce
Steps to reproduce the behavior:

  1. Go to any song and press the option Song Details
  2. Nothing in Statistics form
  3. See error

Expected behavior
Full information of a song

Screenshots
untitled-1

untitled-2

Desktop (please complete the following information):

  • OS: archlinux
  • Browser firefox
  • Version latest

Additional context
MyMPD v.4.00
I install mympd through ./mkrelease operation.
stickers = true at options file.

Problem adding Albums with greek characters from both database and filesystem

I have lots of albums with greek characters on both tags and filenames/directories. All of them appear in filesystem and database views but the options "Append to queue/Replace queue/Add to playlist" menu
never appears on them if I click on the album cover in database view or on the cross symbol in filesystem view.

I don't know if it happens with other languages too. I can only test with Greek.

The myMPD version I use is 4.2.1.

Add HTTP Auth

Is your feature request related to a problem? Please describe.
I would like to put this on a public port but bots (or people) always end up finding it and pressing random buttons (e.g. I have come home to Never Gonna Give You Up on repeat multiple times)

Describe the solution you'd like
Please add HTTP Auth either on connect, or to be able to press buttons.

Describe alternatives you've considered
Or some other form of authentication (per connection basis).

Additional context
image

How to run syscmds

Is it possible to run syscmds?
I tried a shell script and vlc to test but without success.

4.4.0 browse music files does not work with disabled tags

Describe the bug
mympd 4.4.0 for ubuntu 18.04 does not browse music files.
The package was downloaded from openSUSE Build Service.
Clicking 'Browse' does not change the browser's url unlike 'Playback', 'Queue' and 'Search'.

To Reproduce
Steps to reproduce the behavior:

  1. Click 'Browse'

Expected behavior
Browse music folders and files.

Desktop (please complete the following information):

  • OS: Ubuntu 18.04
  • Browser: Firefox and Chrome
  • Version: the latest

Additional context
4.2.1 version worked fine, but it is not available from the repository any more.
Please let me know any check points on my side.

Startup error mpd connection not working

Describe the bug
I just now undated to most recent version in git and when I access the myMPD user interface I can't browse my music and no information is shown for my running mpd.
When I start at the command line I see this:
sudo ./mympd /etc/mympd/mympd.conf
Parsing config file: /etc/mympd/mympd.conf
Starting myMPD 4.3.0
Document root: /usr/share/mympd/htdocs
Error opening /var/lib/mympd/state/notificationWebError opening /var/lib/mympd/state/notificationPageError opening /var/lib/mympd/state/jukeboxModeError opening /var/lib/mympd/state/jukeboxPlaylistError opening /var/lib/mympd/state/jukeboxQueueLengthDroping privileges to nobody
Listening on http port 8081
MPD Connecting to 127.0.0.1:6600
MPD connected.
MPD protocoll version: 0.20.0
MPD supported tags: Artist ArtistSort Album AlbumSort AlbumArtist AlbumArtistSort Title Track Name Genre Date Composer Performer Disc MUSICBRAINZ_ARTISTID MUSICBRAINZ_ALBUMID MUSICBRAINZ_ALBUMARTISTID MUSICBRAINZ_TRACKID MUSICBRAINZ_RELEASETRACKID
myMPD enabled tags: Artist Album AlbumArtist Title Track Genre Date Composer Performer
Error opening /var/lib/mympd/tmp/playlist.tmpMPD X: Cannot send a new command while receiving another response
MPD X: Cannot send a new command while receiving another response

There is nothing further even when I navigate through myMPD screens.

To Reproduce
Steps to reproduce the behavior:

  1. Compile latest code from git
  2. Changed nothing else in my system
  3. Build and run mympd
  4. See error

Desktop (please complete the following information):

  • OS: 3.16.57-1-ARCH #1 SMP PREEMPT Fri Aug 31 20:51:33 MDT 2018 aarch64 GNU/Linux
  • Browser: Firefox
  • Version myMPD 4.3.0 / mpd 0.20.0

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Removing track from queue redirects to Playback page

Hi and congratulations for this really nice MPD client!

I just tested compiling from master branch and when I press the trash bin icon to remove a track from queue it immediately redirects me to playback page.

I think that it should stay in queue page so that I will be able to remove additional tracks.

Thanks again for your effort,

Mike

Index page not found

Not Found
After a fresh install, I can't manage to reach mympd and get a "Not Found" error

To Reproduce
Steps to reproduce the behavior:

  1. Pull latest git issue
  2. generate debian package with mkdebian.sh
  3. install with dpkg -i
  4. edit /etc/mympd/mympd.conf to my likings
  5. start mympd.service
  6. go to "mympdmachine.domain"

Expected behavior
I would have liked to see the mympd welcome page

Screenshots
capture d ecran_2018-09-16_12-49-28

Desktop (please complete the following information):

  • OS: Raspbian Stretch
  • Browser: Firefox
  • Version 4.4.1

Additional context
I had to fix the user/group creation when installing the package, everything else seems to work fine.
Mympd isn't really verbose in what is happening, i can't see nothing interesting with a "systemctl status mympd".

Anyway, thanks for your wonderful work !

munmap_chunk(): invalid pointer

Describe the bug

munmap_chunk(): invalid pointer

at moment browser attempts to connect to mympd causing it to fail. I have purged mympd and all configs, reinstalled. Connected via ssl and without to no avail. I have also tried mpd connection with hostname, ip, and socket in mympd.conf. Note that this may be an issue with mpd 0.21.1 itself as 0.21.0 had considerable regressions causing them to push out an upgrade only 2 days later. I haven't had a change to roll it back yet.

OS/software

  • running on arch linux arm
  • mpd 0.21.1
  • firefox and chrome

journalctl dump

Nov 05 11:21:01 archphile.cultofrobots.net mympd[20929]: Parsing config file: /etc/mympd/mympd.conf
Nov 05 11:21:01 archphile.cultofrobots.net mympd[20929]: Starting myMPD 4.5.0
Nov 05 11:21:01 archphile.cultofrobots.net mympd[20929]: Droping privileges to mympd
Nov 05 11:21:01 archphile.cultofrobots.net mympd[20929]: Document root: "/usr/share/mympd/htdocs"
Nov 05 11:21:01 archphile.cultofrobots.net mympd[20929]: Link to mpd music_directory: "/usr/share/mympd/htdocs/library"
Nov 05 11:21:01 archphile.cultofrobots.net mympd[20929]: Enabling coverimage support
Nov 05 11:21:01 archphile.cultofrobots.net mympd[20929]: Temp dir: "/var/lib/mympd/tmp"
Nov 05 11:21:01 archphile.cultofrobots.net mympd[20929]: Smartpls dir: "/var/lib/mympd/smartpls"
Nov 05 11:21:01 archphile.cultofrobots.net mympd[20929]: State dir: "/var/lib/mympd/state"
Nov 05 11:21:01 archphile.cultofrobots.net mympd[20929]: Reading states
Nov 05 11:21:01 archphile.cultofrobots.net mympd[20929]: Syscmds are disabled
Nov 05 11:21:01 archphile.cultofrobots.net mympd[20929]: Listening on http port 80
Nov 05 11:21:01 archphile.cultofrobots.net mympd[20929]: Listening on ssl port 443
Nov 05 11:21:01 archphile.cultofrobots.net kernel: audit: type=1130 audit(1541434861.136:82): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=mympd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Nov 05 11:21:01 archphile.cultofrobots.net mympd[20929]: MPD Connecting to /var/run/mpd/socket:6600
Nov 05 11:21:01 archphile.cultofrobots.net mympd[20929]: MPD connected.
Nov 05 11:21:01 archphile.cultofrobots.net mympd[20929]: MPD protocoll version: 0.21.0
Nov 05 11:21:01 archphile.cultofrobots.net mympd[20929]: MPD supported tags: Artist Album AlbumArtist AlbumArtistSort Title Track Name Genre Date Composer Performer Comment Disc
Nov 05 11:21:01 archphile.cultofrobots.net mympd[20929]: myMPD enabled tags: Artist Album AlbumArtist Title Track Genre Date Composer Performer
Nov 05 11:21:01 archphile.cultofrobots.net mympd[20929]: myMPD enabled searchtags: Artist Album AlbumArtist Title Genre Composer Performer
Nov 05 11:21:01 archphile.cultofrobots.net mympd[20929]: myMPD enabled browsetags: Artist Album AlbumArtist Genre Composer Performer
Nov 05 11:21:14 archphile.cultofrobots.net mympd[20929]: munmap_chunk(): invalid pointer
Nov 05 11:21:14 archphile.cultofrobots.net audit[20929]: ANOM_ABEND auid=4294967295 uid=986 gid=996 ses=4294967295 pid=20929 comm="mympd" exe="/usr/bin/mympd" sig=6 res=1
Nov 05 11:21:14 archphile.cultofrobots.net systemd[1]: mympd.service: Main process exited, code=killed, status=6/ABRT
Nov 05 11:21:14 archphile.cultofrobots.net systemd[1]: mympd.service: Failed with result 'signal'.
Nov 05 11:21:14 archphile.cultofrobots.net audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=mympd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
Nov 05 11:21:14 archphile.cultofrobots.net kernel: audit: type=1701 audit(1541434874.106:83): auid=4294967295 uid=986 gid=996 ses=4294967295 pid=20929 comm="mympd" exe="/usr/bin/mympd" sig=6 res=1
Nov 05 11:21:14 archphile.cultofrobots.net kernel: audit: type=1131 audit(1541434874.116:84): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=mympd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'

UI enhancements

Make ui more configurable:

  1. make pagination configurable -> implemented in 4.4.0
  2. display number of totalEntities in header on all lists -> implemented in 4.4.0
  3. confirm dialog for playlist delete -> implemented in 4.4.0
  4. add option to customize columns in lists -> implemented in 4.5.0
  5. lazy loading of images in album browse -> implemented in 4.4.0

Adding keyboard shortcuts

Context
I use mpd on a remote server, and I alternatively command it with MyMPD or ncmpcpp.
I really like the keyboard shortcuts on ncmpcpp

Solution
Would you please consider adding keyboard shortcuts to mympd ?
I especially miss the "Tab" to switch between Browse and Queue/Playback

Ncmpcpp keyboard shortcuts
https://pkgbuild.com/~jelle/ncmpcpp/

No more status polling

  • Use idle feature of mpd protocol
  • Playing song progress with javascript timer
  • Merge get_outputs and get_outputnames function

404 not found

Great work!

Love the new GUI. Congrats :)

When i build with:
cmake .. -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_BUILD_TYPE=RELEASE

i get an 404 not found error when i run it with ./mympd -w80

When i build with:

cmake .. -DCMAKE_INSTALL_PREFIX:PATH=/usr

Plays fine, except of course the album covers.

Thank you JCorp excellent job. I hope you will keep it up and make it perfect!

Web GUI address

My home network uses 10.10..... instead of the normal 192.168.... when I install myMPD it seems to be hard coded to 192.168.... which means I can not connect to it.

Is there any way to have myMPD use the address of what every machine its installed on and just add the port to the end ....... : 1333, for example like Logitech Media Server does.

Add a "clear queue" or "add and replace" button in Browse tab

This is definitely not a bug, but a feature I believe that will make myMPD use easier.

Le's say that I have some files loaded in queue and while browsing in order to add some new stuff, I want to get rid of the current queue and then load the new tracks.

With current myMPD implementation, I need to go back to Queue (and lose the last Browse state), press the "clear queue" button and then go back to Browse to add the files.

What I suggest is either:

  • add a "clear queue" button in Browse mode, so that the user clears queue before loading new stuff
    or
  • add a button next to the existing that add the tracks that will "add and replace" to the queue. This way the user does what he wants with one click.

or

to implement both.

Greetings,
Mike

Jukebox mode: add whole albums

I would love the ability to randomly add whole albums instead of just single tracks while in jukebox mode either from the database or a playlist. It's a feature I use in mpd-sima which automagically adds tracks or albums to the playlist based off of last.fm recomendations of the previous track. It's pretty much like having my own pandora.

Thanks.

Support embedded album covers

I'm using the prebuilt package for Ubuntu 18.04 at openSUSE Build Service.
It looks promising.
Is it possible to show the embedded album covers as well as external ones?

Enhance feature detection

  1. Check for stored_playlists support - disable browse playlists and smart playlists
  2. Check for metadata usage - disable browse database

Cannot add tracks on queue

Describe the bug
There are three folders in mnt folder of archlinux filesystem. One is nas-samba, one is nas-nfs, last is usb-disk.

From fstab file i mount nas-samba folder to Music NAS environment(to my case is a windows home server) and share my music tracks to raspberry pi.

Everything work great until the new "Append queue" function. The strange here is that i can queue an .m3u file but not any track, even from the same folder. I cannot add any mp3, flac, etc track...

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Browse'
  2. Click on 'Filesystem'
  3. Scroll down to 'any mounted folder and try to add a track from the little "ADD" button on the right'
  4. No error. I click it, but nothing happens.

Expected behavior
To be added to queue

Screenshots
untitled-2

untitled-1

Desktop (please complete the following information):

  • OS: Archlinux
  • Browser Firefox, Chrome
  • Version Latest

Additional context
Add any other context about the problem here.

Clear Queue not functional in latest master

Hi Jcorporation,

I built and using mympd (under ArchlinuxARM) from latest master/

I noticed that "clear queue" button in queue tab is not functional.

Steps to reproduce:

  • Load any file from your library
  • Go to queue tab
  • Press the clear queue button.

I tested it with various browsers with the same results.

Regards,

Mike

Material Design Icons do not show in chromium

Material Design Icons do not show in chromium

screenshot from 2018-06-07 11-19-27

Desktop:
Arch Linux
Chromium - 67.0.3396.79

Closing off line 95 and adding an additional "src:" on line 96 in mpd.css corrects the problem:

94 src: local('Material Icons'),
95 local('MaterialIcons-Regular');
96 src: url(/assets/MaterialIcons-Regular.woff2) format('woff2'),

Add Album from Search Tab

Is your feature request related to a problem? Please describe.
I do not think it is a bug, but i do not see how can i add the whole album after i search for it in Search Tab.

Describe the solution you'd like
To be able to add the whole album from Search tab, as i can through Filesystem.

I can't set mixramp values from settings

Hi Jcorporation,

I am trying to understand how mixramp works, mainly in order to be able to disable it (finding values that do not affect music reproduction).

For some reason on the web interface settings, both Mixramp DB and Mixramp delay have the value of 3168124928 (the number changes from time to time). I am trying to set ex. -17dB and 2sec delay (I don't know if these settings make sense btw )and nothing happens (When I revisit settings I get the same 316... value), while setting these commands via mpc commands, I get the job done, confirming it with the mpd.log.

Just to clarify, I can't understand from the documentation if mixramp package has to be installed or if MPD does the job itself:
https://www.musicpd.org/doc/protocol/playback_option_commands.html

I need to find a value for DB and a value for delay to set so that I ensure it does not affect anything..

The reason I need these values, is because whenever I go to settings and exit by saving, myMPD always sends replaygain, crossfade and mixramp and all the other commands found there, even If anything is changed.

Example:

I go to mympd settings and having everything else disabled, I just set mixramp at -17dB and 2 sec delay. The mpd output is the following:

Jun 04 16:00 : client: [4] process command "consume "0""
Jun 04 16:00 : client: [4] command returned 0
Jun 04 16:00 : client: [4] process command "random "0""
Jun 04 16:00 : client: [4] command returned 0
Jun 04 16:00 : client: [4] process command "single "0""
Jun 04 16:00 : client: [4] command returned 0
Jun 04 16:00 : client: [4] process command "repeat "0""
Jun 04 16:00 : client: [4] command returned 0
Jun 04 16:00 : client: [4] process command "replay_gain_mode "off""
Jun 04 16:00 : client: [4] command returned 0
Jun 04 16:00 : client: [4] process command "crossfade "0""
Jun 04 16:00 : client: [4] command returned 0
Jun 04 16:00 : client: [4] process command "mixrampdb "3894939648.""
Jun 04 16:00 : client: [4] command returned 0
Jun 04 16:00 : client: [4] process command "mixrampdelay "3894939648.""
Jun 04 16:00 : client: [4] command returned 0
Jun 04 16:00 : client: [4] process command "status"
Jun 04 16:00 : client: [4] command returned 0
Jun 04 16:00 : client: [4] process command "outputs"
Jun 04 16:00 : client: [4] command returned 0

FYI, I tested with both latest Firefox and Chromium under Archlinux.

Regards,

Michael

Pressing "Enter" in search field navigates to Playback tab

This is a really minor bug.

Although your search implementation doesn't need an "Enter" to show results, pressing it inside the search field navigates to Playback tab.

In order to reproduce it:

  1. navigate to search tab
  2. write any word you want to search
  3. press the "enter" key

Although I already got used to how it works and I don't press the Enter key, I believe it should be even better to modify it so that pressing this key does nothing.

FYI, I tested it under Archlinux using latest Firefox and Chromium.

Greetings,
Mike

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.