So here we have a basic image sharing application. It is capable of accepting a variety of images and assigning them to records in a database and unique folders in the filesystem. This is interesting as it leaves things open to you to improve on. For example, you can do the following:
You can add limits on views. As the image record is stored in the database, you could adapt the database. Adding two columns called
img_count
andimg_count_limit
, you could allow a user to set a limit for the number of views per image and stop providing that image when that limit is met.You can limit views by date. Similar to the preceding point, but you could limit image views to set dates.
You can have different URLs for different dimensions. You could add functionality to make several dimensions of image based on the initial upload, offering several different URLs for different image dimensions.
You can report abuse. You could add an option allowing viewers of images to report unsavory images that might...