Skip to content

A simple distributed and scalable application that lets a user add songs to a MySQL relational database via an HTML form and a PHP script. It also allows the user to access the db table records to visualize all the songs which were added previously through a simple, but intuitive dashboard.

License

Notifications You must be signed in to change notification settings

stefanodesaraca/Distributed-and-Scalable-Songs-Database-Application-with-Docker-PHP-and-MySQL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Distributed-and-Scalable-Songs-Database-Application-with-Docker-PHP-and-MySQL

This project involved creating a distributable and scalable full stack application which could be deployed on multiple devices with Docker Swarm.
Also, the app should let user access the database and have all the rows (each one containing details about one song) displayed on a dedicated web page.
The application is made of a frontend, a backend and a database.

  • The frontend is realized with HTML and CSS web page which lets the user insert songs data (like: title, author, duration, etc.) into a MySQL database through a form.
  • The backend is a PHP script which controls the insertion of the data into the DB.
  • The database is a simple MySQL relational database.

  • The whole application is dockerized with 5 services which integrate necessary and additional functionalities:

  • mysql (the DBMS)
  • httpd (Apache HTTP Server)
  • phpMyAdmin (to access the database manually)
  • ccombackend (the backend of the application)
  • ccomfrontend (the frontend of the application)

  • Finally, to deploy the app with Docker Swarm I used three XUbuntu virtual machines with Docker daemons installed hosted on my local machine using VirtualBox which simulated three different devices where the app could be distributed.

    Each service was scaled to an appropriate number of replicas, but could also be scaled up in case of need.

    The Docker containers created for the project are available on Docker Hub at: https://hub.docker.com/u/stefanodesaraca

    About

    A simple distributed and scalable application that lets a user add songs to a MySQL relational database via an HTML form and a PHP script. It also allows the user to access the db table records to visualize all the songs which were added previously through a simple, but intuitive dashboard.

    Topics

    Resources

    License

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published