Closed jackreichert closed 9 months ago
A straightforward and contemporary approach would involve utilizing Vercel. This could require transforming your application into a Next.js format, which is fundamentally React-based. Vercel offers the convenience of rendering endpoints from function files (https://vercel.com/docs/concepts/functions/serverless-functions/quickstart).
Another option is to embrace the Amazon Web Services (AWS) platform. You can deploy your application to AWS using a CloudFormation template, with S3 for storage and CloudFront serving as your Content Delivery Network (CDN). And set the API an aws lambda/appSync.
Both these alternatives provide the advantage of allowing the backend and frontend to be written in the same language, TypeScript.
For the backend database:
Elasticsearch could be an interesting option, but might be excessive for your needs. DynamoDB could present a simpler solution. Maybe a combination of DynamoDB and AppSync https://aws.amazon.com/appsync/ which can set graphql API for the front end.
I love these suggestions @BenBroide, thanks for hopping in!
I'm not yet sure I want to use JS/TS, I think I want to over-engineer things for myself a little...
I'm leaning towards embracing cloud deployment, and packaging it in a way that it can be deployed to any platform. I haven't decided on a database yet, but I definitely am leaning towards GraphQL.
Decided on Python, mainly to use another language for the sake of making this more difficult. In a production scenario, @BenBroide makes a good case.
@jackreichert python with Django? Flask?
Context As this is an over engineered application it clearly needs more than just a front-end. The easiest thing would be to build it in JavaScript, which I'll consider. However since I'm using this project to show off a diversity of skills, and to keep my skills fresh, perhaps another language would be good.
As an engineer I want the api server to be built in a language fit for an api server So that I can rely on the technology to be performant
Acceptance Criteria