zinccyy / AMP

A Music Player

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AMP

A Music Player - simple server for playing music on a device, controlled using client applications.

API

The server uses gRPC as the RPC protocol for accessing server data and adding music folders etc. Protobuf files can be found in grpc/protos folder. C++ and C# files have already been generated but one can easily compile protobuf files for other languages using protoc compiler and provided plugins.

Clients

In the clients/ directory there are a few client examples:

  • ampcli - planned for implementation, .NET Core CLI client for the srver
  • AMPClient-UWP - UWP WinUI 3.0 client - currently in development

Android app is also planned for addition.

Dependencies

Project uses vcpkg as the library manager. Libraries needed to build the project are:

As for the system requirements, there should exist a postgresql server which can be used for the database. The server uses the AMP database and the user named amp_admin with the same password.

Database design

Database uses the following ER model: ER Model

ER model is open to changes (for example adding more metadata for the track, more artist data, more tables and relationships etc). The server is built with a plan that each of the database fields can be retrieved through some gRPC service.

About

A Music Player


Languages

Language:C# 84.8%Language:C++ 14.5%Language:CMake 0.7%