I've started a project with my father to make an S3-backed web photo album app. Key requirements:
My first thought was to do it in PHP. And I really wanted to do MVC. So I gave Symfony a shot. It was a struggle. It was easy to get Symfony installed and a basic test page working, but the more I used it, the more I bumped up against the shortcomings of OO PHP.
Next idea: ASP.NET Core. While I've done a fair bit of ASP.NET development at work, I've never created a site from scratch on my own. And I've never run it on Linux. Also, I wanted to use Visual Studio Code, not full Visual Studio, to force myself to learn how it really works.
Here's the plan:
AWS Lambda for the image resizing because in prior projects I found that resizing large images from a tightly-provisioned EC2 instance can be slow and a bit buggy. (Lambda has cold-start slowness. But I'm thinking that I'll pre-generate images anyways.)
DynamoDb because it is serverless, fast, and basically no cost.