🚧 Wear a hard hat around here! 🚧
 
 
Go to file
Oleg Lavrovsky cba8f8585a Hello 🌐 2023-02-17 23:35:30 +01:00
dribdat Hello 🌐 2023-02-17 23:35:30 +01:00
.gitignore Hello 🌐 2023-02-17 23:35:30 +01:00
Dockerfile Hello 🌐 2023-02-17 23:35:30 +01:00
README.md Hello 🌐 2023-02-17 23:35:30 +01:00
asyncapi.yml Hello 🌐 2023-02-17 23:35:30 +01:00
conftest.py Hello 🌐 2023-02-17 23:35:30 +01:00
dribdee.png Hello 🌐 2023-02-17 23:35:30 +01:00
mock_data.json Hello 🌐 2023-02-17 23:35:30 +01:00
poetry.lock Hello 🌐 2023-02-17 23:35:30 +01:00
pyproject.toml Hello 🌐 2023-02-17 23:35:30 +01:00

README.md

dribdee

A next-gen API for hackathons, as a revision of the architecture of dribdat.

The idea is simple: let's massage our foundations. Start with a lightweight model that makes it easy to track the people, teams and projects, based on the most proven, battle-tested, standards-oriented data structures.

We need to be able to performantly search and filter the dribs (posts, short commit notes, screenshots) and other live data points from the event stream - # of paper napkins scribbled on, +/- lines committed to git, L of coffee or kW electricity consumed .. that we altogether might endearingly call our LASN (Local Area Social Network). We would love it if this LASN could play well with your choice of WASN: through subscriptions or integrations or otherwise.

For this, we are looking at either moving from Flask/SQLalchemy to the slightly more performant combination of Falcon/Peewee, or switching to a messaging bus like ØMQ or AsyncAPI, or using a timeseries database (Influx, Timescale), or another dev environment altogether (Go?).

This repository is currently a sandbox and everything is open for discussion.

Running

Get a copy of Python 3 or Podman/Docker to try the experimental dribdat app.

Or upload the AsyncAPI definition to play with it in the Studio.

Python

Create a virtual environment using Poetry (others supported later) .. and activate it.

poetry install 
poetry run gunicorn dribdat.app:api --reload

Docker

docker build -t dribdee .
docker run -p 8000:8000 dribdat

Accessing

The API will be hosted by default at http://127.0.0.1:8000

You can find API docs at http://127.0.0.1:8000

Testing

Within your virtual environment, run pytest in the project root.