claritycafe / aya Goto Github PK
View Code? Open in Web Editor NEWyour globally distributed waifu storage
Home Page: https://aya.claritycafe.now.sh
License: MIT License
your globally distributed waifu storage
Home Page: https://aya.claritycafe.now.sh
License: MIT License
This is intended to maintain the quality of the matches. Our best match is 99% and our minimum match should be no lower than 85%. If nothing meets this critera, then just display "Source cannot be found!", I'll work on the design for that.
Of course we want to expose a part of what the site does. Frontend interacts directly to the services but third party integrations should use our public API with set limits. @Ovyerus will determine which is the best ratelimit for them.
The spec is as follows:
The Collections is a collection of Posts that is just contains the references to the Post. Aya should allow creating collections per user only, we can't allow it on guest accounts.
Flow is as follows for frontend:
IPFS Contracts are ran in Infura's side and will require project keys, hidden away from the user to regulate uploads. Frontend should handle the proxying to Infura and vice versa.
This is a issue dedicated to discuss the ratelimit system before we tell the user they need to pay for the uploading.
Since we're using blockchain-based billing and ratelimiting, The initial equation for the transactions are:
This equation would allow us to give a insight for the next part: which is providing a good rate limit for people.
Providing quotas is something we need to do to conserve resources and as a way to deny bad actors a way to circumvent the system.
Users are required to sign in via Reddit OAuth to upload to the site, and we will give them the following quotas:
Our main focus here is the daily and weekly posting allowance. Since we're doing a rather freemium, PAYG-style service, we want to keep the price as sane as 0.000200ETH or similar.
I'm open for suggestions so if you got a better model for the quotas let me know.
Search bar/button in navigation bar which redirects to full width search page - basically home/exploration but with search options tacked on.
Basic filtering and sorting based on simple metrics for MVP.
There are other boorus like:
What are the differences, and if possible, any communication channels for collaboration?
(Preferably Discord and Telegram)
It seems the import checker for TypeScript is showing us errors despite being valid. I'll disable it for now and probably raise the issue to the author of the ESLint plugin.
While we could allow guests to upload to the booru, we run on limited resources here so we might want to have User Authentication. Site admins can make uploading user-only or be available to guests in a very restricted manner.
Should be explanatory, we can have it in the way RedditBooru does it. (which is by the upload dialogue).
Addition on top of #11 when we finish the MVP.
Search bar in the navbar shows a dropdown with available search "macros", similar to how Discord does, that correlate to various filters, for example character:
would correspond to a character filter and only show that character.
These would probably get filtered out and display as the proper options on the search page? Or maybe filter options just get completely replaces and only exist as these macros.
Since we're moving to a new kind of IPFS pinning service, we're going to relax the initial ratelimits by just enforcing size limits to prevent abuse. Starting from now on we're going to limit the images to be 10MB or less, this is also to lessen the strain on the convert function (as one function only has 512MB memory in Vercel) and they would be even smaller on upload as we will convert them to WebP directly while maintaining their resolution.
I think adding even more complexity to the stack that I introduced in #1 would make it unmaintainable and unusable. I figured out its possible to just use IPFS as-is, so we're getting rid of the Ethereum Backend.
We can use a AI Service for this.
We train a model everytime a new image is uploaded, but its only scheduled per 2 hours to train from the entire collection or just what got uploaded new.
Right now, I've seen forks trying to change but they have no idea production
branch isn't supposed to be committed at. Going to begin with preliminaries should help people be guided of what to do.
Our Design System will be based on Microsoft's Fluent Design. There's also consensus between us and @Ovyerus to use fast-dna, the same framework used to make Edge Chromium's UI.
fast-dna will be our de facto design system for the entire booru.
Similar to #8. We can use an AI to train multiple models of anime characters we know and love. There are 4 different ways, for example, to draw Mash Kyrielight from Fate, from four different artists. We should be able to compensate for that. Once we know where the character came from, we can also output the franchise/series that they came from.
We have the option to use two of the following:
an dApps Auth using your Ethereum wallet as your credentials, preferrably MetaMask.
classic SSO by a third party.
This should allow us to implement permissions for #2.
This should show everything about the user. they can add a short bio (depends how you short you want it be) or whatever links they want to add and of course the posts and collections they have. Design will come soon.
There are other booru engines that are on Github
Is it possible to poke through the code to identify other features?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.