/hifi

👨🏻‍🎤 Hi-fi song repository app

Primary LanguagePHPMIT LicenseMIT

Release License MostUsedLang Build Status

HiFi Songs Repo

👨🏻‍🎤 A web app to share High Fidelity music with other people.

You can find the deploy here: https://gnugomez-hifi.herokuapp.com

⚙️ Setup

Requeriments

  • PHP ^8.0.0
  • MySQL DB
  • php composer
  1. Clone repo
git clone https://github.com/gnugomez/hifi.git
cd hifi
  1. Install composer vendors
composer install
  1. Config .env Rename env.sample and fill the variables with the expected data.

👍 Current specs

  • PHP ^8.0.0
  • MySQL DB
  • This project uses AltRouter to process all petitions inside index file (with a rewrite rule in .htaccess, only apache).
  • Twig template loader.
  • Tailwindcss and scss.

⏱ To do specs

  • Implement AltRouter.
  • Code Login and register with bcrypt and prepared statements to prevent SQL Injection ad tags stripped to prevent XSS attacks.
  • Code sessions with tokens also stored inside server side with php sessions.
  • Extend AltoRouter fuctionality to use middlewares to guard routes.
  • Implement Twig to render php values inside html without the need to exec anything there.
  • Implement module system to register separate modules with their own controllers registered.
  • Add tailwindcss support with postcss.
  • Implement content type system to manage data more quick and secure.
  • Create a profile page where the user will be able to change personal data and upload a profile pic.
  • Implement shortcodes to be able to declare components with thunderer/Shortcode.

🧮 env

DB_URL="mysql://user:pass@server:port/db"