Files & Disks
Managing uploaded files is inevitable in every application at some point.
Create separate disks in config/filesystems.php for each code section. For instance, user avatars have their own disk called avatars to store the files in, because they can be made public, whereas user documents can never be public as those files may contain sensitive information about a user. The benefit of creating a separate disk per section is better control over where the files live, with minimal to no changes to the actual code. We can just update the disk's driver from S3 to local, public FTP, etc. and all the files will be uploaded to the new location, or with different object visibility.
Do not put individual files in the root of the buckets; it can become very messy very quickly.
