Giter VIP home page Giter VIP logo

qasong's Introduction

Qasong

Test Workflow

Test Workflow Cypress.io

React Test Coverage

React Test Coverage Branches

React Test Coverage Functions

React Test Coverage Lines

React Test Coverage Statements

About the Application

Qasong provides an alternate user interface for listening to music from youtube.

This project is currently under development and is scheduled for it's first release on December 20th, 2020.

Links

Join us on Discord

Qasong Team Discord

Production URL

Qasong Web App

Alternate URLs provided by our cloud host

Alternate URL 1

Alternate URL 2

Frontend-only development

enter the frontend folder

cd frontend

install dependencies

npm i

start react frontend

npm start

the frontend should be live in dev mode at localhost:8080

Backend-only development

install dependencies

npm i

start the server in dev mode

npm run dev:server

the server will be available at localhost:3016

this will only enable the api. if you want to see the frontend served by the server, you'll need to compile the frontend

npm run build

Full development environment

install all packages and start both front and backend in dev mode

npm run dev

the frontend should be live at localhost:8080 the backend will be available at localhost:3016

note: the frontend is currently hardwired to communicate with the production api. To see your backend changes in the frontend, you'll need to change the url in functions.js. you should find the development url there commented out.

CONTRIBUTING

please make a pull request to the develop branch of this repo

for assistance working with this repo, contact us on discord discord or ping a contributer in an Issue.

qasong's People

Contributors

acolectiv avatar callbacc avatar dependabot[bot] avatar ianwalston avatar jardimjose avatar jasper-mui avatar milan090 avatar nxtcoder17 avatar reinhardtvdwesthuizen avatar sanji11 avatar spartasixzero avatar unjown avatar wei-j-huang avatar zjjiang2 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

Watchers

 avatar  avatar  avatar

qasong's Issues

loading screen

when a user visits the web app, they should see a loading screen until everything in the page is finished loading

npm start giving error

heres the log

9 verbose lifecycle [email protected]~start: CWD: C:\Users\manthan\repos\Artistify
10 silly lifecycle [email protected]~start: Args: [ '/d /s /c', 'node index.js' ]
11 silly lifecycle [email protected]~start: Returned: code: 1  signal: null
12 info lifecycle [email protected]~start: Failed to exec start script
13 verbose stack Error: [email protected] start: `node index.js`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (C:\Users\manthan\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:310:20)
13 verbose stack     at ChildProcess.<anonymous> (C:\Users\manthan\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:310:20)
13 verbose stack     at maybeClose (internal/child_process.js:1021:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
14 verbose pkgid [email protected]
15 verbose cwd C:\Users\manthan\repos\Artistify
16 verbose Windows_NT 6.1.7601
17 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\manthan\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "start"
18 verbose node v12.16.3
19 verbose npm  v6.14.5
20 error code ELIFECYCLE
21 error errno 1
22 error [email protected] start: `node index.js`
22 error Exit status 1
23 error Failed at the [email protected] start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

playlists

This major feature is a set of these individual features:

  • save current queue in memory as a playlist
  • view list of playlists currently stored
  • load a playlist into active queue

user counter

so add a counter in the appbar that will display the people that are using the app

Persistent que

Keep que active with all songs as the user mover through the playlist. Highlight active que item, only remove que items at users request.

party( listen together)

Giving someone an invite (can be a link) and both will be listening to the queue. If someone changes the song, the song will change for both.

better empty state

right now, when the search results is empty

it could be some sort of background image, or results of the top 20 music,

something like that

video card details button

add button to video search result card that display extra information about the video

the information should include the artist, full title, duration, anything other relative data we're getting in the response

details could pop up in a little modal or popover or something like that

this will allow users to learn more about a video search result before playing it or adding it to the queue

make metatag for image a .png

currently, the meta tag for image is not showing up when the link is posted in discord

this is because it is a .svg, but needs to be a .png

the meta tag for the image is found in /public/index.html
the image can be placed in /public/

play from middle or end of queue

currently, clicking any card in the queue will play the next in queue

instead, we want it to play the song in the queue that was clicked

filter out "unavailable" videos

sometimes when we try to play something through the youtube player we get a "this video is unavailable for being embedded or whatever"

lets see if it's possible to identify these videos and not display them in the search results

share button

place a share button in the app bar that copies the current url

restrict H1 in VideoGrid width to 100%

The big "ARTISTIFY" in the middle of the video grid component when there are no videos currently shown is messing up the mobile view because it is wider than the container it's in.

restrict it to 100%. this css should work: max-width:100%

as always feel free to reach out to me for help completing this

instructions for drag and drop queue

currently, the queue is reorderable by draggins and dropping, but this is not immediately apparent.
we need to communicate this to user somehow

one option is to have muted but somewhat prominent text reading "Drag and drop queue items to reorder" or something like that

another option would be to use some sort of symbol or other visual que to show the queue cards are draggable.

user menu

the app bar is getting cluttered, we should move several elements to menu that opens up

Update image, title and description in html meta tags

meta tags are found in the head of public/index.html

title should be "Artistify" or come from the frontend/.env file
description should be "For your lovely earholes" or come from the frontend/.env
image should be the image at public/icon-logo.svg

electron app build process

set up the root package.json to be able to build the existing frontentend in /public into a desktop application

restructure frontend/src/components directory

Currently, all react components for this project are together in the frontend/src/components directory

The components should be arranged and grouped into larger components.

We need to do some brain storming or looking at other projects to find a good pattern for organizing these components

AppBar components should be rows in mobile view, not columns

The mobile view of the app bar is currently jacked up.

That is because it's just a flexbox that will always be a single row.

This could be fixed be replacing the Toolbar component with a Grid and setting proper breakpoints for each Grid item

music

music should be still playing when the video ended, random music videos.

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.