2021-07-17 15:07:37 +00:00
< h1 align = "center" >
< br >
< img src = ".github/images/header_github.png" alt = "Jokes Bapak2 Heading" width = "1000" >
< br >
< br >
Jokes Bapak2 Image API
< br >
< / h1 >
2021-05-02 07:49:13 +00:00
2021-07-17 15:07:37 +00:00
👋 Hey there! Still a work in progress, if you'd like to contribute this while this repo is still growing, that would be so great!
2021-05-02 07:49:13 +00:00
2021-07-15 12:44:07 +00:00
It's on alpha phase now. You can access the front facing web on [jokesbapak2.pages.dev ](http://jokesbapak2.pages.dev/ ).
2021-05-02 07:49:13 +00:00
## Brief explanation of what is this
2021-07-17 15:07:37 +00:00
Jokes Bapak2 is an image API that you can use for free! I've been seeing lots and lots of Indonesian dad jokes on Twitter, Facebook and Instagram on early 2020. In a month, I made a Discord bot that provides the jokes. But I thought, why not make it as an API?
This is some kind of [icanhazdadjokes ](https://icanhazdadjoke.com/ ) but it's Indonesian and it's not text, it's images. Dad jokes in Indonesia is somewhat a bit different than in US/UK because, I guess, here, it's a lot dumber.
2021-05-02 07:49:13 +00:00
## Project Directories
2021-07-15 12:44:07 +00:00
* `api` - REST API service. Created with Go with [Fiber ](https://gofiber.io/ ) framework.
2021-07-09 12:22:56 +00:00
* `client` - Front facing website (front end). Created with [Svelte Kit ](https://kit.svelte.dev/ ).
2021-05-02 07:49:13 +00:00
2021-07-17 15:07:37 +00:00
You can consume this API via a website (linked in the front facing web) with a few endpoints:
2021-05-02 07:49:13 +00:00
* `/v1/` - Random jokes bapak2
2021-07-17 15:07:37 +00:00
* `/v1/id/{number}` - Jokes bapak2 based on ID
2021-05-02 07:49:13 +00:00
* `/v1/today` - Jokes bapak2 of the day
2021-07-17 15:07:37 +00:00
* `/v1/total` - Total available jokes bapak2
2021-05-02 07:49:13 +00:00
2021-07-17 15:07:37 +00:00
Currently I'm (still) searching for an alternative for AWS S3 that I can use for free.
2021-05-02 07:49:13 +00:00
## Tech stacks
2021-07-17 15:07:37 +00:00
* Go (for `api` / back end)
* Node.js (for `client` / front end)
2021-05-02 07:58:37 +00:00
* Postgres
* Redis
2021-05-02 07:49:13 +00:00
That's it.
2021-05-02 07:58:37 +00:00
## Development
Two ways of doing this:
1. Install all the tech stack on your local machine
2021-07-17 15:07:37 +00:00
2. Using docker-compose
2021-05-02 07:58:37 +00:00
2021-07-17 15:07:37 +00:00
See [CONTRIBUTING ](./CONTRIBUTING.md ) or README files on each project directory for further instruction on how to run the development environment.
2021-05-02 07:58:37 +00:00
2021-07-23 15:39:23 +00:00
## Thanks to
* [Teknologi Umum ](https://t.me/teknologi_umum )
* [Ronny Gunawan ](https://github.com/ronnygunawan ) for the caching concept & ideas
* [artileda ](https://github.com/artileda ) for the jokes submission
* [elianiva ](https://github.com/elianiva ) for solving my SvelteKit problems
2021-05-02 07:49:13 +00:00
## License
2021-07-17 15:07:37 +00:00
Jokes Bapak2 API is licensed under [GNU GENERAL PUBLIC LICENSE v3 license ](./LICENSE )
```
Jokes Bapak2 API is a free-to-use image API of Indonesian dad jokes.
Copyright (C) 2021-present Jokes Bapak2 Contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see < https: / / www . gnu . org / licenses / > .
```