This will be a part-time project for building the back-end for a blog.
Front-end will be placed in another repository, which will be linked here later.
Go wil be used as I have used it earlier for my bachelor thesis, and think it a good language with many features that I like. I think it will be a good fit for this project.
GraphQL will be used as the query language for making an single end-point for the API, and for personal development learning more about it.
Have not decided on which database I will use yet. I have the most experience with SQL databases, and think using an NoSQL database for this project would be a good challange, but I don't know which one to choose yet.
Would have to do some more research on which one to choose, until then, I'll use in-memory storage (maybe local files?)
I have used this a few times while studying, but not enough to be say that I know it well, but seems like a good option, as well as a cheap option.
Pros
- Cheap
Cons
- lorem ipsum
No prior experience with DynamoDB, but have recently completed a AWS course, where this was a central subject of the course.
Pros
- lorem ipsum
Cons
- No experience
- Can be costly
No prior experience with Cosmos DB, but are currently employeed as a .NET developer for an consultant firm, where we use Azure for many of the products we work on.
Pros
- Heard lots of positive stuff
Cons
- No experience
- Expensive
No prior experience with Firestore, but I have a lot of credit with Google Cloud which makes it cheap.
Pros
- Have GCloud credits
Cons
- No experience
I will use Git Flow as branching strategy for this project for practice.
Will look into GitHub Actions for CI for this, and look for alternativs for CD.
I will not follow all the "standards" on how to structure a Go-project. I will create this projects as it makes sense to make it for me.
I will use the Service-pattern for this project, so that I could be able to change database or something else in the future for it.