/cats

my first web project

Primary LanguagePHP

Cats

  • Registration, Authorization, Login.
  • Homepage - cats from all authors. Each cat has an image, name, author's name (and a link to their cats), and publication date.
  • Author's page. Similar to the homepage, but only cats from one author.
  • Page for editing personal data (email, password).
  • Page for editing own cats, including editing and deletion.

Advanced Version

  • Ability for authorized users to comment on cats.
  • Ability to vote for a cat (+1 / -1) and track its rating.
  • Protection against manipulation and storing votes in the database. Prevent duplicate voting. It is necessary to save the specific user's voting data for a cat.
  • Top 10 cats page. Sorting based on user ratings.
  • Add weather data for Odessa to the homepage using any weather API.
  • Add currency exchange rates data to the homepage using any internet service.
  • Add a "Latest Comments" widget to the homepage.

Technical Requirements

  • Use MySQL for data storage.
  • Use the file system for storing files.
  • Use object-oriented programming, including inheritance, interfaces, abstract classes, etc.
  • Single entry point (EndPoint) and routing.
  • Use MVC (Model-View-Controller) pattern.
  • Publish the project on your GitHub account.