Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sondr3/cv-aas

My CV-as-a-Service, because the world needs more SaaS.
https://github.com/sondr3/cv-aas

graphql latex rust

Last synced: 2 months ago
JSON representation

My CV-as-a-Service, because the world needs more SaaS.

Awesome Lists containing this project

README

        

cv-aas


GitHub Actions Status



CV-as-a-Service, because the world needs more SaaS.

Table of Contents

**Table of Contents**

- [Installation](#installation)
- [Running](#running)
- [How?](#how)
- [License](#license)

## What, why?

On a whim and mostly for the heck of it, I decided that it'd be fun to make my
CV into a service that other people can query. Well, mostly myself I guess. This
is the result, a full GraphQL-API that you can query in both Norwegian and
English to get more information about yours truly! Spectacularly useless for
everyone but me. Oh, and it generates my LaTeX-resume, which is actually pretty
cool if you ask me.

# Installation

Don't.

## Running

Again, don't. But if you really want to, the easiest way is to use Docker:

```sh
$ docker run -itd --restart unless-stopped -p 8080:8080 --name cv-aas ghcr.io/sondr3/cv-aas:latest
```

# How?

Well, it's kinda messy. The main bulk of the content is written in a
programmable configuration language called [Dhall](https://dhall-lang.org),
which is essentially JSON + functions + types + imports. I then convert that
data to JSON and those files are then included in the binary that is written in
Rust enabling very easy deployment of the API, and I can use
[Serde](https://serde.rs/) to easily deserialize the JSON to Rust structs.
Finally, I generate my LaTeX-resume using Dhall as essentially a programmable
templating language where I import the language specific content and map it out
as TeX.

# License

MIT.