Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/samuelschlesinger/geopolitik-backend
A Haskell implementation of the backend of Geopolitik, a website I want to make
https://github.com/samuelschlesinger/geopolitik-backend
Last synced: 20 days ago
JSON representation
A Haskell implementation of the backend of Geopolitik, a website I want to make
- Host: GitHub
- URL: https://github.com/samuelschlesinger/geopolitik-backend
- Owner: SamuelSchlesinger
- Created: 2019-12-02T23:05:22.000Z (about 5 years ago)
- Default Branch: dev
- Last Pushed: 2020-01-03T23:33:56.000Z (almost 5 years ago)
- Last Synced: 2024-10-27T19:10:56.915Z (2 months ago)
- Language: HTML
- Homepage: https://geopolitik.world
- Size: 7.04 MB
- Stars: 1
- Watchers: 4
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Geopolitik
Geopolitik is a website for people to publish their articles on topics
relating to geopolitics. This can include news, culture, sports, economics,
business, geography. This repository contains an incomplete implementation
of the backend for this, though there is an Elm project in here that is waiting
for any awesome contributor to come use the APIs I wrote and make a front end.## Installing/Running
To run this on any unix machine, you need to have PostgreSQL
running locally on port 5432 with a database called "geopolitik", and you need to have the
PostGIS extension installed, both of which are available via brew.
To begin, run the commands:
```bash
export GEOPOLITIK_LOCATION=
stack run migrate
```
I have the former in my bash profile.
If you want to drop the various tables that this adds to that postgres database, you can run this script
and get rid of them all.
```bash
stack run drop
```
Finally, to run the server on port 8080, you can run the command:
```bash
stack run geopolitik
```## Using
Currently, there is no frontend to speak of. That being said, if you have the
server running, you can poke it in a number of ways. One is curl, with a
cookie file. This is well documented on the internet and you can always poke
me here if you are having troubles. The other way is a number of html pages
which serve as basic tests of some of the endpoints. These go in a sequence
from [signup](http://localhost:8080/signup.html).## Module Structure
I try to keep this photo updated with the current dependency graph of the
modules in this project, so you can have an idea of how to explore it. That
being said, I won't be describing the architecture here, as it is so prone
to change and I don't want to have to update documentation no one is presently
reading every time I change the architecture.![Module Structure](mods.png)