Display movie posters on screens using web technologies.

Overview

Digital Movie Poster (DMP)

The web application creates a digital movie poster display for use on LED screens. Intended to run on a Raspberry Pi 4, but will run on any web server with Apache/NGINX, PHP 7.3+, and MySQL/Postgres.

Features

  • Create/Edit movie posters
  • Show content ratings, processing logos, audience ratings
  • Random order or drag-and-drop ordering
  • Pull posters from Plex and show currently playing
  • Automatically fill in data using IMDB ID
  • Control settings such as playing speed, transition speed, etc ...
  • Control display power using HDMI-CEC control
  • Show Runtime
  • Movie trailers
  • Movie theme music
  • Movie Voting! See WIKI for more info

Open to new features/suggestions/requests. Please use Github issues.

Any help or contributions would be greatly appreciated. Please submit pull requests.

Raspberry Pi 4 Image

An image of the install will be available to download in the near future.

A pre-installed image on a SD card will already be configured. Just plug-in-play and add posters.

Self Install Requirements

  1. Pi 4 or computer with at least 2GB of RAM. 4GB recommended.
  2. Apache/NGINX w/mod_rewrite enabled
  3. PHP 7.3+ with extensions: GD, Curl, Dom, MySql/Postgres
  4. Composer and Git

Self Installation

  1. Clone this repo to your web server.
  2. In the root of the application run composer install.
  3. In the root of the application duplicate the .env.example file and rename to .env. Do not delete the .env.example file.
  4. In the root of the application run php artisan key:generate and php artisan storage:link.
  5. Run php artisan migrate to create the database tables.
  6. Point your web root to the public folder of the application.
  7. Increase PHP ini max_execution_time to at least 600.
  8. Add your database credentials to the .env file.
  9. Add your TMDB API key to the .env file using this existing key: TMDB_API_V3=
  10. In the .env file change FILESYSTEM_DRIVER= to public

NOTE: If you alter any of the application files other than the .env file the update process will not work as it uses git pull to update the application.

Make sure your web server supports/turned on mod_rewrite.

If using NGINX your configuration may need to be updated to support Laravel mod rewrites.

Movie Voting Service

The movie voting service runs on a socket.io server locally.

If you want to use the movie voting feature you will need to go into the socketserver folder and run: npm install

Next you will need to install PM2:

npm install -g pm2

Start the voting socket.io server run:

pm2 start server.js

Now the voting service will listen for connections when navigating to the /voting path in your browser.

Permissions

For self installations you will need to make sure you have the correct permissions for your application. Below is an example:

sudo usermod -a -G www-data pi
sudo chown -R -f www-data:www-data /var/www/html

Kiosk Mode

You will need to lookup tutorials on how to boot your Pi in kiosk mode using chromium.

NOTE: THEME MUSIC AUDIO - You have to set this chromium flag in order to get audio to autoplay

--autoplay-policy=no-user-gesture-required

Usage

Once your application is running navigate to either movieposter.local, or if you did self-install, raspberrypi.local.

On a fresh install with no posters in the database you will see a message asking you to open the application in a browser to start managing posters and settings.

Recommended poster size is 1400x2000 or higher, but retain the same ratio.

After you've added posters and are back on the DMP screen you can always return to the posters and settings configuration by clicking or tapping on the 'Coming Soon/Now Playing' header.

Poster Data Auto-population

When using the IMDB ID to manage poster data the application will use TMDB API to populate the metadata and poster image.

Plex

To use Plex, go to the settings configuration, check the checkbox to use the Plex service and enter your Plex IP address and Plex auth token. You can find your Plex auth token here.

Anytime a movie is played on Plex it will show the Now Playing poster.

Sorting Posters

On the poster list screen you can drag-and-drop each poster by the thumbnail to sort. If you have chosen to use a random order in the settings this list order is ignored.

A Note on Deleting Posters

If you delete a poster that was cached from a service like Plex the poster will return on next cache. The cache service runs every 4 hours when the DMP screen is active. You can always choose which posters you want in the rotation.

Updating

In the settings view there is a Update DMP link next to the Save Settings button. Clicking Update DMP will update the application.

After the application updates you will need to refresh the browser, or if using the Pi in kiosk mode, restart the Pi.

Screenshots

Below are some screenshots taken from a local dev environment. IRL screenshots coming soon.

Basic poster view!

Poster view with trailer!

License

DMP open-sourced software licensed under the MIT license.

Comments
  • docker build issue

    docker build issue

    i keep getting this error. im on unraid 6.10.03

    => ERROR [ 6/11] RUN groupadd --force -g  sail                                                                                                                            2.4s
    ------                                                                                                                                                                          
     > [ 6/11] RUN groupadd --force -g  sail:
    #0 1.944 groupadd: invalid group ID 'sail'
    ------
    failed to solve: executor failed running [/bin/sh -c groupadd --force -g $WWWGROUP sail]: exit code: 3
    
    opened by binarygeek119 10
  • Native Media Player Plug-in

    Native Media Player Plug-in

    Appreciate the effort put into the development of this. I'm currently on mission to step out of polling updates from plex, jellyfin etc as that's only one source. What id think be nice is plug-in interface to add the media player to poll for example Roku, Nvidia Shield, and drum roll Apple TV.

    Then the post can be impacted by app streaming, put associate poster up and at bottom state App used. I know the data is available on Roku, and nvidia shield. Apple TV it's possible just need to test on tvos 16.

    investigate 
    opened by schwos 8
  • some request for features

    some request for features

    more customizable logos i like to be able to show my surround sound setup in my case a 5.1 i was thinking that you can check what dolby the user has for the logo then add the speaker setup next to it

    • Dolby Digital.
    • Dolby Digital EX.
    • Dolby Digital Surround EX.
    • Dolby Digital Live.
    • Dolby Digital Plus.
    • Dolby AC-4.
    • Dolby TrueHD.

    speaker setups

    • 2.0

    • 2.1

    • 3.0

    • 3.1

    • 5.0

    • 5.1

    • 7.0

    • 7.1

    • 5.2

    • 7.2 also i have a 3d projector and would like to display that.

    • Active-shutter 3D

    • Passive 3D

    • Dolby 3D

    • RealD

    • IMAX digital

    • Anaglyph 3D also being able to show what movies are available in 3d in plex/jellyfin/emby/kodi or just in general

    rating limits being able to limite what is shown so if pg-13 is the max rating then no rated r with be display

    tv show could also be nice for some people to display.

    and then one i really like for sure ads being able to set up custom ads like ones i have made inwhick you can include if you like https://github.com/binarygeek119/posterr-custom-posters i can also make more if you wish

    also sorry for bombarding you. just really excited for this project i came here from posterr. have you thought about posting your app to docker https://hub.docker.com/ it could get more looks. also the plex/emby/jellyfin/kodi reddit's and have you considered setting up a donation link. i would sign up on patreon to keep this going.

    opened by binarygeek119 7
  • no posters display

    no posters display

    f12 console output image

    i am just stuck on image

    also im running on unraid with docker pulling from emby. and does the sync posters sync what is in jellyfin/emby. or do i need to add each poster for them to show up.

    opened by binarygeek119 5
  • theater ads

    theater ads

    be nice to use theater ads i like to be able to show a ads every 10 posters. i think the number needs to be user configurable.

    just a few examples of ones i made https://github.com/binarygeek119/open-custom-posters

    opened by binarygeek119 4
  • Issue with setup

    Issue with setup

    I am trying to set this up and I am running in to an issue with the php artisan migrate command. Please see the error below. Thanks for your help and I am looking forward to trying your software.

    pi@poster:/var/www/html/digital-movie-poster $ php artisan migrate

    UnexpectedValueException

    The stream or file "/var/www/html/digital-movie-poster/storage/logs/laravel.log" could not be opened in append mode: failed to open stream: Permission denied

    at vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:146 142▕ restore_error_handler(); 143▕ if (!is_resource($stream)) { 144▕ $this->stream = null; 145▕ ➜ 146▕ throw new \UnexpectedValueException(sprintf('The stream or file "%s" could not be opened in append mode: '.$this->errorMessage, $url)); 147▕ } 148▕ stream_set_chunk_size($stream, $this->streamChunkSize); 149▕ $this->stream = $stream; 150▕ }

      +9 vendor frames
    

    10 [internal]:0 Illuminate\Foundation\Bootstrap\HandleExceptions::handleException(Object(UnexpectedValueException))

    opened by opsteel 4
  • emby missing

    emby missing

    i think you need to add emby as a separate poster source. something must be different to jellyfin. i cant get now playing to sync or show up under emby. i also cant get it to pull posters from emby to sync the poster with what i have.

    opened by binarygeek119 3
  • backup settings and database

    backup settings and database

    it would be nice if we could do a one click and get a backup of all settings. if the need to reflash is needed.

    then a upload setting to restore settings and posters.

    it would then load the missing poster in background.

    enhancement 
    opened by binarygeek119 2
  • Bump engine.io from 6.2.0 to 6.2.1

    Bump engine.io from 6.2.0 to 6.2.1

    Bumps engine.io from 6.2.0 to 6.2.1.

    Release notes

    Sourced from engine.io's releases.

    6.2.1

    :warning: This release contains an important security fix :warning:

    A malicious client could send a specially crafted HTTP request, triggering an uncaught exception and killing the Node.js process:

    Error: read ECONNRESET
        at TCP.onStreamRead (internal/stream_base_commons.js:209:20)
    Emitted 'error' event on Socket instance at:
        at emitErrorNT (internal/streams/destroy.js:106:8)
        at emitErrorCloseNT (internal/streams/destroy.js:74:3)
        at processTicksAndRejections (internal/process/task_queues.js:80:21) {
      errno: -104,
      code: 'ECONNRESET',
      syscall: 'read'
    }
    

    Please upgrade as soon as possible.

    Bug Fixes

    • catch errors when destroying invalid upgrades (#658) (425e833)
    Changelog

    Sourced from engine.io's changelog.

    6.2.1 (2022-11-20)

    :warning: This release contains an important security fix :warning:

    A malicious client could send a specially crafted HTTP request, triggering an uncaught exception and killing the Node.js process:

    Error: read ECONNRESET
        at TCP.onStreamRead (internal/stream_base_commons.js:209:20)
    Emitted 'error' event on Socket instance at:
        at emitErrorNT (internal/streams/destroy.js:106:8)
        at emitErrorCloseNT (internal/streams/destroy.js:74:3)
        at processTicksAndRejections (internal/process/task_queues.js:80:21) {
      errno: -104,
      code: 'ECONNRESET',
      syscall: 'read'
    }
    

    Please upgrade as soon as possible.

    Bug Fixes

    • catch errors when destroying invalid upgrades (#658) (425e833)

    3.6.0 (2022-06-06)

    Bug Fixes

    Features

    • decrease the default value of maxHttpBufferSize (58e274c)

    This change reduces the default value from 100 mb to a more sane 1 mb.

    This helps protect the server against denial of service attacks by malicious clients sending huge amounts of data.

    See also: https://github.com/advisories/GHSA-j4f2-536g-r55m

    • increase the default value of pingTimeout (f55a79a)
    Commits
    • 24b847b chore(release): 6.2.1
    • 425e833 fix: catch errors when destroying invalid upgrades (#658)
    • 99adb00 chore(deps): bump xmlhttprequest-ssl and engine.io-client in /examples/latenc...
    • d196f6a chore(deps): bump minimatch from 3.0.4 to 3.1.2 (#660)
    • 7c1270f chore(deps): bump nanoid from 3.1.25 to 3.3.1 (#659)
    • 535a01d ci: add Node.js 18 in the test matrix
    • 1b71a6f docs: remove "Vanilla JS" highlight from README (#656)
    • 917d1d2 refactor: replace deprecated String.prototype.substr() (#646)
    • 020801a chore: add changelog for version 3.6.0
    • ed1d6f9 test: make test script work on Windows (#643)
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump engine.io from 6.2.0 to 6.2.1 in /socketserver

    Bump engine.io from 6.2.0 to 6.2.1 in /socketserver

    Bumps engine.io from 6.2.0 to 6.2.1.

    Release notes

    Sourced from engine.io's releases.

    6.2.1

    :warning: This release contains an important security fix :warning:

    A malicious client could send a specially crafted HTTP request, triggering an uncaught exception and killing the Node.js process:

    Error: read ECONNRESET
        at TCP.onStreamRead (internal/stream_base_commons.js:209:20)
    Emitted 'error' event on Socket instance at:
        at emitErrorNT (internal/streams/destroy.js:106:8)
        at emitErrorCloseNT (internal/streams/destroy.js:74:3)
        at processTicksAndRejections (internal/process/task_queues.js:80:21) {
      errno: -104,
      code: 'ECONNRESET',
      syscall: 'read'
    }
    

    Please upgrade as soon as possible.

    Bug Fixes

    • catch errors when destroying invalid upgrades (#658) (425e833)
    Changelog

    Sourced from engine.io's changelog.

    6.2.1 (2022-11-20)

    :warning: This release contains an important security fix :warning:

    A malicious client could send a specially crafted HTTP request, triggering an uncaught exception and killing the Node.js process:

    Error: read ECONNRESET
        at TCP.onStreamRead (internal/stream_base_commons.js:209:20)
    Emitted 'error' event on Socket instance at:
        at emitErrorNT (internal/streams/destroy.js:106:8)
        at emitErrorCloseNT (internal/streams/destroy.js:74:3)
        at processTicksAndRejections (internal/process/task_queues.js:80:21) {
      errno: -104,
      code: 'ECONNRESET',
      syscall: 'read'
    }
    

    Please upgrade as soon as possible.

    Bug Fixes

    • catch errors when destroying invalid upgrades (#658) (425e833)

    3.6.0 (2022-06-06)

    Bug Fixes

    Features

    • decrease the default value of maxHttpBufferSize (58e274c)

    This change reduces the default value from 100 mb to a more sane 1 mb.

    This helps protect the server against denial of service attacks by malicious clients sending huge amounts of data.

    See also: https://github.com/advisories/GHSA-j4f2-536g-r55m

    • increase the default value of pingTimeout (f55a79a)
    Commits
    • 24b847b chore(release): 6.2.1
    • 425e833 fix: catch errors when destroying invalid upgrades (#658)
    • 99adb00 chore(deps): bump xmlhttprequest-ssl and engine.io-client in /examples/latenc...
    • d196f6a chore(deps): bump minimatch from 3.0.4 to 3.1.2 (#660)
    • 7c1270f chore(deps): bump nanoid from 3.1.25 to 3.3.1 (#659)
    • 535a01d ci: add Node.js 18 in the test matrix
    • 1b71a6f docs: remove "Vanilla JS" highlight from README (#656)
    • 917d1d2 refactor: replace deprecated String.prototype.substr() (#646)
    • 020801a chore: add changelog for version 3.6.0
    • ed1d6f9 test: make test script work on Windows (#643)
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • kodi's poster pull doesn't work ether

    kodi's poster pull doesn't work ether

    kodi version Kodi v19.4 (Matrix) ive tryied windows app and installer version aswell as a vm with unraid LibreELEC all do the some thing all setup the same after sync posters with kodi setup image

    devtools output image

    kodi settings image

    kodi webport image

    opened by binarygeek119 1
  • install error

    install error

    on a fresh install i saw errors but i wasnt able to save them fast enought. when running update.sh i get this. they might be the same errors.

    Deploy script started
    /var/www/html
    PHP Warning:  require(/var/www/html/vendor/autoload.php): Failed to open stream: No such file or directory in /var/www/html/artisan on line 18
    PHP Fatal error:  Uncaught Error: Failed opening required '/var/www/html/vendor/autoload.php' (include_path='.:/usr/share/php') in /var/www/html/artisan:18
    Stack trace:
    #0 {main}
      thrown in /var/www/html/artisan on line 18
    
    opened by binarygeek119 6
  • GET POSTER.webp 404 (Not Found)

    GET POSTER.webp 404 (Not Found)

    Hello,

    Thank you very much for your software but I have a small problem, all the images are not found, I tried Plex / TMDB and upload myself but each time it does not find the poster.

    apocalypse-now.webp:1 GET http://raspberrypi.local/storage/posters/apocalypse-now.webp 404 (Not Found)

    I have nothing in the logs

    Thanks to you for your help,

    opened by logseven 1
  • tv show ads

    tv show ads

    goes with the theater ads i posted but instead of theater ads every X poster it would be a tv show poster. i could see this being used for the whole tv show or for season by season.

    opened by binarygeek119 0
  • showtimes

    showtimes

    it be great if you could show movie show times. this would be a fictional list the user could add to a list.

    what i would like to see with this is. use banner art work ro show a wide but short list the would take the whole display and scroll down the list with all the movies showing. i would like it to be able to set show times back to the future showing at 1:15 P.M. or be able to set random times Ferris Bueller's Day Off showing at XX:XX X.X. that would be auto generated. it would be great also if it would make it show back to the future would have to be done before Ferris Bueller's Day Off could be show based off of runtime so back to the future at 1:15 P.M. Ferris Bueller's Day Off can only show at 3:12 P.M. i think the runtime plus a little buffer 1-5 minutes give the illusion needing to reset/cleanup for next showing.

    would also be nice to just have a auto generated just click it on and forget. but allow the user to setup custom setups.

    with this i think a number of theater to make show times for woudl be nice for people that want to give the illusion of a bigger theater 2+ screens.

    now show at theater 1 now show at theater 2 now show at theater 3

    what are your thought on this

    enhancement 
    opened by binarygeek119 0
  • emby plugin support

    emby plugin support

    i looked at the jellyfin plugin and looked at both emby and jellyfin api's. i think i fix emby but im not ablt to test as i dont know how to install the plugin without the in app method. i belive the only thing that needed change is $imageUrl = $protocol.'://'.$this->jellyfinSettings['jellyfin_ip_address'].':8096/Items/'.$movie['Id'].'/Images/Primary'; to $imageUrl = $protocol.'://'.$this->embySettings['emby_ip_address'].':8096/emby/Items/'.$movie['Id'].'/Images/Primary'; i also renamed all jellyfin names to emby both jellyfin and Jellyfin to emby and Emby i dont think i missed any.

    anyway i like you to take a look at it. im not a coder so its a bit out of my ability. but thats the only thing i can see is different between the two api's emby needs :8096/emby/Items

    https://github.com/binarygeek119/dmp-emby

    investigate 
    opened by binarygeek119 0
Releases(3.400.500)
Owner
Don Jones
Don Jones
A self hosted download manager for movie and tv show trailers.

Introduction Trailarr is a self hosted download manager for movie and tv show trailers. Features: A beautiful, easy to use UI. Easy setup, readily con

null 13 Dec 19, 2022
An Online Movie Booking Website whose data is completely from a database

An Online Movie Booking Website whose data is completely from a database to ensure that it can be implemented in a real time scenario as any change of data needs to be done only in the database using SQL queries and the changes are immediately reflected.

Arunachalam M 7 Apr 13, 2022
Track the memory usage of your workers and display them in Filament.

Filament Memory Tracker Track the memory usage of your workers and display them in Filament. Installation Install the package via composer: composer r

Theraloss 22 Oct 9, 2022
Log and display the product stock movements

Aropixel Sylius Stock Movement Plugin Log and display the product stock movements. When the stock of a product is updated, the stock movement will be

Aropixel 1 Oct 28, 2021
Feature plugin to count CSS and JS assets loaded by the theme on front-end and display recommandations in Site Health

=== Site Health - Audit Enqueued Assets === Contributors: audrasjb, whodunitagency Tags: site health, performance audit, performance test, assets, scr

Jb Audras 3 Nov 5, 2021
TinyFileManager is web based file manager and it is a simple, fast and small file manager with a single file, multi-language ready web application

TinyFileManager is web based file manager and it is a simple, fast and small file manager with a single file, multi-language ready web application for storing, uploading, editing and managing files and folders online via web browser. The Application runs on PHP 5.5+, It allows the creation of multiple users and each user can have its own directory and a build-in support for managing text files with cloud9 IDE and it supports syntax highlighting for over 150+ languages and over 35+ themes.

Prasath Mani 3.5k Jan 7, 2023
Kyle is a web application built with Laravel for web developers and small companies to efficiently track and stay on top of yearly expenses related to services

Kyle Kyle is a web application built with Laravel for web developers and small companies to efficiently track and stay on top of yearly expenses relat

Laravelista 36 Jul 15, 2022
Unified sample web app. The easy way to learn web frameworks.

Notejam The easy way to learn web frameworks Do you know framework X and want to try framework Y? The easy way to start with a new framework is to com

Sergey Komar 1.1k Dec 21, 2022
Damn Vulnerable Web Application (DVWA) is a PHP/MySQL web application that is damn vulnerable.

Damn Vulnerable Web Application (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goal is to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and to aid both students & teachers to learn about web application security in a controlled class room environment.

Robin Wood 7k Jan 5, 2023
A web application for a school, facilitating the registration of students. Built using HTML/CSS, PHP and Oracle.

Student Registration System A web application for a school, facilitating the registration of students. Built using HTML/CSS, PHP and Oracle. Included

Sana Khan 4 Oct 2, 2021
Open Source Point of Sale is a web based point of sale application written in PHP using CodeIgniter framework.

Open Source Point of Sale is a web based point of sale application written in PHP using CodeIgniter framework. It uses MySQL as the data back end and has a Bootstrap 3 based user interface.

opensourcepos 2.7k Jan 2, 2023
OTT Web Application using PHP

OTT - WEB Application This project is based on OTT Web Application Where you can enjoy lots of entertainment content. This Web Based Application is un

Raju Jettappa 4 Jul 14, 2022
Web Application using MVC PHP Framework (LavaLust)

LavaLust Version 2 This is an early release of LavaLust Version 2. You may check the changelog.txt file to see the changes. Overview of Changes in Ve

Noe Dimailig 1 Oct 16, 2021
Demo of using geo data in PHP web applications

phpgeo-demo Demo of using geo data in PHP web applications Goals Demonstrate basic data storage and retrieval methods using Geo specific data Orient t

J Corry 2 Jul 10, 2016
A mini social media like web app built using Laravel 8 & Vue JS 3

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Davidson Ramos 2 Feb 1, 2022
Online web application developed in PHP using Laravel framework for managing real-time kitchen orders in a restaurant.

Online web application developed in PHP using Laravel framework for managing real-time kitchen orders in a restaurant. It allows, through a web panel, real-time communication between chefs and waiters about the status of orders.

Fernando 2 Nov 9, 2022
A micro web application providing a REST API on top of any relational database, using Silex and Doctrine DBAL

Microrest is a Silex provider to setting up a REST API on top of a relational database, based on a YAML (RAML) configuration file.

marmelab 187 Nov 17, 2022
A simple web application that demonstrates how to quickly connect to and communicate with a MariaDB database using PHP

PHP Quickstart This repository contains a simple web application that demonstrates how to quickly connect to and communicate with a MariaDB database u

Developer Code Central 8 Nov 6, 2022
A Responsive Web Chat App Using Php , MySql and JavaScript

Web-Chat-App A Responsive Web Chat App Using Php , MySql and JavaScript Prerequisites XAMPP [Php Runtime Environment] click HERE To Download XAMPP Set

Luttapi 4 Jul 12, 2022