Skip to content

Khanon/soundboard-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

soundboard-challenge

Sounboard with client and server side

Docker Repositories

  • khanon3d/challenge-soundboard-web
  • khanon3d/challenge-server

How to test

Pull and Run both Docker containers for soundboard and server, no matter the order.

To do this, execute these commands (be sure you have installed Docker on your machine):

  • docker pull khanon3d/challenge-soundboard-web
  • docker pull khanon3d/challenge-server
  • docker run -d -it -p 4200:4200 khanon3d/challenge-soundboard-web
  • docker run -d -it -p 3000:3000 khanon3d/challenge-server

Once both containers are running, open the web on: http://localhost:4200
Server is running on: http://localhost:3000

Web Client should retrieve sounds content from server.

Test server requests using you prefer API platform (E.g: Postman).

On POST Request '/sounds', the server stores the new sounds data and it will notify to the Web Client there's new sounds data through WebSocket. At this point Web Client will ask the user to reload the content.

On sound play, server gets notified through PUT Request /sounds/:id/play and will send back the new sound's price.

NOTES

  • POST Request '/sounds' validation can be improved making use of NestJs validator
  • Many of the HTML schemas can be simplified using angular templates
  • Error responses should be controlled
  • Interceptors and guards should be implemented on server side to improve the security
  • Styles can be improved deeper making use of SCSS