Simple Blog API

An example demo simple blog API web application using the Athena Framework. Demonstrates what a real-world API using the framework would look like, with some considerations.

The blog is intended to showcase various framework features while still being approachable and not overly complex. This includes:

The application was created using the Athena Skeleton template, which would be a good starting point to learn about the overall suggested organizational structure of an Athena Framework application. The blog API continues on with the pattern of including a README.md file within each directory that adds some commentary/explanation of what each directory/file does. This allows one to easily peruse/learn without having to study the code/look for comments within the code itself; which also leaves the code itself less cluttered.

If you prefer a more hands on approach, keep reading on to learn how to get it running locally.

Getting Started

Considerations

While this example is intended to be as real-world as possible, some things are a just bit out of scope or too complex to cover here. These particulars and their impact are noted below.

Levels of Abstraction

Every application is going to have its own requirements and as such require the code to behave in a particular way. Because of this, the abstractions that application requires may differ from those used in this more simple/naive implementation. This application uses abstractions that are simpler, while still being impactful, but what/when to define some is ultimately up to the end user.

Some examples of this include:

Production Deployments

How to best deploy an application can be tricky since no application is the same, with each having its own unique set of requirements. As such, we are not going to get into the specifics of HOW to deploy the blog API to production, but a few things to keep in mind when thinking about how you are:

Contributing

Have an idea/feature common/useful enough to be worthy of including into the application? Create an issue and we can see about having it included.