Hello!
This repository contains everything that you need to complete your assignment.
Please take this seriously, because we do! We carefully assess every assignment that is turned in to determine if you have the qualities that we're looking for at NWEA.
You are a DevOps engineer. Your boss has requested that you build a blog post API. You have been given a database schema by the DBA team that you will need to use to insert information into a SQLite database. Create a repository on Github (do not fork this one) and add the code necessary to provide an API that will write single posts to the database and retrieve a list of all posts from the database. You should include a copy of the database in your repository. It ought to work "out of the box".
- You must use a scripting language (i.e., Perl, Python, Ruby, Go, Java, Node)
- Shell scripting is not allowed for the assignment (i.e., Bash, Ksh, Zsh)
- Your solution must be easily deployable and include a well documented process to do so.
- Your solution must be checked into Github. Do not submit a pull request to this repository. Send us a link to your repository.
- Please show your work. We want to see multiple commits and see how you approached the problem.
You will need to implement 2 API endpoints for this assignment.
- An endpoint for POSTing a single blog post
- Endpoint must be
/post
- Method must be
POST
- Content of the
POST
must be thetitle
andbody
of the post
- An endpoint for GETing all blog posts
- Endpoint must be
/posts
- Method must be
GET
- There should be no content sent (this is a GET request)
- Content received must be the
post_id
,title
, andbody
of all posts in an array
All data exchanged with the API must be in JSON format.
You will find a file called blog.db
in the repository. It is a SQLite database file and already includes the table you need for persisting blog post data.
When the API is used to POST a blog post it should be written to the database. When a GET is called the API should retrieve all entries from the database.
Have fun! If you don't like doing this assignment you probably won't like working here. We like to code and we do a lot of automation.
We're looking forward to seeing your API in action!