- 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.
- 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.
- 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.