cat-milk / Anime-Girls-Holding-Programming-Books

Anime Girls Holding Programming Books
https://cat-milk.github.io/Anime-Girls-Holding-Programming-Books/
18.83k stars 941 forks source link

Frontend and API: https://senpy.club #121

Open Fuwn opened 4 years ago

Fuwn commented 4 years ago

Didn't see a frontend for this repository and I was struggling to sleep late at night so I made senpy.club, thoughts?

cat-milk commented 4 years ago

thats some good shit

ghost commented 4 years ago

Very neat, might integrate your api into my bot and have language specified commands

Edit: consider collaborating with Xetera from issue #56 Adding the api to the already existing website might be a good idea

haylinmoore commented 3 years ago

Just a heads up freenom is known to just randomly take back .tk domains

Fuwn commented 3 years ago

Just a heads up freenom is known to just randomly take back .tk domains

I've read about this, however, for now, I'm just going to ride out however long I have left.

Honestly, I've also thought about re-writing it completely for scratch, both to produce cleaner code and as well to make it faster and more efficient than it is now.

kotx commented 3 years ago

@fuwn Making it a GitHub pages or Vercel site would be awesome as well, but I'm not sure if that's possible as I don't know how your site works.

Fuwn commented 3 years ago

@kotx at the time, i threw together a quick and dirty express application because i wanted a template-able front-end and a simple api, and i honestly haven't touched it since.

I might reimplement senpy in SPA framework in the future, maybe even start on it next week if I have some free-time.

oijdfdg commented 3 years ago

can u make it a link so I don't have to bother not just image name THANKS

Fuwn commented 3 years ago

@fuwn Making it a GitHub pages or Vercel site would be awesome as well, but I'm not sure if that's possible as I don't know how your site works.

Until now it didn't serve much of an advantage to follow through with this so I hadn't done so, however, I'm in the process of a rewrite using a SPA framework so expect something new soon.

Fuwn commented 3 years ago

Progress is being made. The API is now live and you can find it's accompanying source code here.

The frontend is still being flushed out, I'll be pushing changes to it's accompanying repository soon as well.

Fuwn commented 3 years ago

can u make it a link so I don't have to bother not just image name THANKS

Can you eleborate?

Fuwn commented 3 years ago

Frontend rewrite is finally finished, check it out here. Contributions are appreciated!

dlqqq commented 3 years ago

lol i own senpie.dev. what a coincidence meeting a fellow chad anime domain name owner

asrvd commented 2 years ago

I would have liked to contribute in the frontend part, but I'm not experienced with vue 😭, Good work though, looking forward to the completed project.

cat-milk commented 2 years ago

@Fuwn hey I know this thread is super old so sorry for the ping. We're looking into setting up a website for this repo again and I just wanted to ask is this still something you're interested in discussing? There would certainly be some nice advantages to using your approach of a separate API and front end but my only worry would be server costs since I don't think I could host this on just github pages. If we could find a way around that I could see this being a pretty neat way to set up the website

kotx commented 2 years ago

You could probably host a backend on Cloudflare Workers, which has a free tier. image

Fuwn commented 2 years ago

Hey, @cat-milk. Yeah, sure, I would be happy to help.

The current API and frontend I still have up at at http://senpy-api.herokuapp.com/ and https://senpy.club/, respectively, still work perfectly fine, no issues (I think). The only annoyance was that troublemakers kept slamming the API with loads of requests; getting a few GitHub tokens blocked. Since then, I have implemented a rate limit but I have not yet set up a new token.

The source code for both the API and frontend can be viewed here.

As well, since the API is hosted on Heroku; it may go down from time to time, but the frontend is just fine on Netlify.

Fuwn commented 2 years ago

Thanks for the suggestion, @kotx. I'll see if I can port senpy-club/api over in the following days.

Fuwn commented 2 years ago

Just finished refactoring the API to be deployable as a Cloudflare Worker. As stated above; the front-end still works, however, I will be rewriting that as well just to freshen things up.

Source: https://github.com/senpy-club/api-worker API: https://api.senpy.club API Documentation: https://senpy.club/api

Also just finished rewriting the front-end... a great way to conclude an all-nighter.

Source: https://github.com/senpy-club/frontend-next Website: https://senpy.club

More! I ended up making an API wrapper of The Senpy Club API in the form of a Rust crate, senpy-rs. I'll probably also end up setting up a generator to generate bindings from Rust to other popular, API-consuming languages (e.g., Python, JavaScript, etc.). <- This has been completed, check the bottom of this comment.

Source: https://github.com/senpy-club/senpy-rs Crate: https://crates.io/crates/senpy Documentation: https://docs.rs/senpy/ Examples: https://github.com/senpy-club/senpy-rs/blob/main/examples

07:22, another all-nighter... at least I'm finished with the FFI bindings for senpy-rs. If you don't know what FFI (Foreign Function Interface) bindings are, simply put; they allow one language to call exported symbols that were implemented in another language. senpy-ffi allows you to call each and every function from senpy-rs in just about every language that has FFI support (JavaScript, Python, Lua, etc.).

Source: https://github.com/senpy-club/senpy-ffi Crate: https://crates.io/crates/senpy-ffi Documentation: https://docs.rs/senpy-ffi/ Examples: https://github.com/senpy-club/senpy-ffi/blob/main/examples

Did well (69/70) on my political science final today so I thought I'd treat myself and write another utility for The Senpy Club... Now there's senpy-cli, a CLI for The Senpy Club API. The Senpy Club CLI supports printing API results to stdout or exporting to a supported file format (JSON, YAML, Dhall), and it's very fast.

Source: https://github.com/senpy-club/cli Crate: https://crates.io/crates/senpy-cli Documentation: https://docs.rs/senpy-cli/ Install: cargo install senpy-cli --force

Just finished implementing a GraphQL API for The Senpy Club API!

Source: https://github.com/senpy-club/graphql-api Playground (query testing): https://graphql.senpy.club/playground

Happy two-year anniversary to this issue! - 2022. 03. 27.

dlqqq commented 2 years ago

+1 for CW workers. I've had great experiences with that service.