jeremysprofile / messageapi_takehome_project

A take-home project for Guild to make a simple message API. Unfortunately for me, I had never used Flask, Docker Compose, or written a SQL schema before, so there was a lot of learning involved and this took me a long time. But hey, it was interesting.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Take-home project - Guild

Development Process

See stream_of_consciousness.md

Once things actually connected, it was editing the python code and running the following line over and over:

docker compose up; docker-compose down -v --rmi local

And sometimes having the following in another terminal for double-checking:

mysql -h 127.0.0.1 -u root -pguild -D messageapi

Install

  1. Make sure you have Docker (only tested on Docker Desktop for Mac - download it here).
  2. Clone this repo:
git clone git@github.com:jeremysprofile/messageapi_takehome_project.git

Run

cd messageapi_takehome_project/  # the dir where this README is
docker compose up

Use

The api is available at localhost:80/api/v1/. GET localhost:80/api/v1/ describes the endpoints.

Examples are available at examples.md.

Future Improvements

See improvements.md

Caveats

I am honestly not sure whether it improves my application or not to say this, but this was my first time using Flask, Docker Compose, MariaDB via Python, or even writing a SQL schema. This project took me roughly 20 hours, so 5x what was budgeted, but I did learn a lot and I feel good about the amount I was able to learn and accomplish.

About

A take-home project for Guild to make a simple message API. Unfortunately for me, I had never used Flask, Docker Compose, or written a SQL schema before, so there was a lot of learning involved and this took me a long time. But hey, it was interesting.


Languages

Language:Python 87.8%Language:Dockerfile 7.1%Language:Shell 5.1%