๐ŸŒธ API for storing anime picture collection in Discord server

Overview

Waifuseum

Banner

Version Status

Waifuseum (Museum Waifu) is a simple REST API for storing and managing anime picture collection. This project use combinaton of ExpressJS, Discord.js, and MongoDB. This uses Discord server as a place to store picture file and MongoDB to save the picture url. When we upload a file to discord server, we can right click the message and get the file url then we can save the file url in a database, and yeah free cloud storage to store picture file. So, I made this project to automate it. Btw, this project is inspired by Waifu.pics and Nekos.life.

โš™๏ธ How it works

  1. User upload the picture file to the http endpoint
  2. This thing send the file to Discord server via discord bot
  3. This thing save the url(obtained from discord bot) to database

โ›” Limitations

The main drawback of this API is the file size limitation. Due to Discord rules, This API can't save files with size more than 8 mb. Server Boost is needed to increase the maximum file size limit.

๐Ÿ”– Endpoints

Base url: https://waifuseum.herokuapp.com

Path Method Body or Query
/ GET -
/pictures GET ?count ?full ?album ?mine
/pictures/all GET ?count ?full ?album ?mine ?page ?admin
/pictures/<id> GET -
/pictures POST { file/fileUrl, album, source? }
/pictures/<id> PUT { file/fileUrl?, album?, source? }
/pictures/<id> DELETE -
/albums GET ?community ?private
/albums/mine GET ?community ?private
/albums/all GET -
/albums/<id> GET -
/albums POST { name, slug?, private?, community? }
/albums/<id> PUT { name?, slug?, private?, community? }
/albums/<id> DELETE -
/auth GET -
/auth/me GET -
/auth/login POST { email, password }
/auth/logout POST -
/profile GET -
/profile/password PATCH { oldPassword, newPassword }
/users GET ?full
/users/<id> GET -
/users POST { name, email, password, abilities }
/users/<id> PUT { name?, email?, abilities? }
/users/<id> DELETE -
Comments
  • ๐Ÿชจ I dont know what is this

    ๐Ÿชจ I dont know what is this

    • better filter for album query
    • refactor: update gate system
    • feat: get pictures by album
    • feat: paginate and full option for pictures
    • docs: new endpoint
    opened by BayuDC 0
  • ๐Ÿ”จ Fix broken thing in picture endpoint

    ๐Ÿ”จ Fix broken thing in picture endpoint

    • fix: broken thing in picture manager
    • refactor: rewrite index method for picture
    • chore: paginate the picture
    • chore: filter the pictures
    • docs: update picture endpoint info
    opened by BayuDC 0
  • ๐Ÿ”จ Fix broken thing in album endpoint

    ๐Ÿ”จ Fix broken thing in album endpoint

    Also do some improvements

    • feat: reduce user model data
    • chore: improve album endpoint
    • feat: paginate and filter for album
    • docs: update album endpoint
    opened by BayuDC 0
  • fix: hard-to-read code & wrap error output inside embed

    fix: hard-to-read code & wrap error output inside embed

    Commit details

    • fix: move hard-to-read code to variable According to this review https://github.com/BayuDC/waifuseum/pull/20#pullrequestreview-1008388254, the previous code is hard to read. So i moved it to variable.
    • chore: wrap error message output inside embed
    • chore: rename variable According to this review https://github.com/BayuDC/waifuseum/pull/25#pullrequestreview-1012114680, i have requested to rename the variable so i do it
    opened by gifaldyazkaa 0
  • feat: add new commands

    feat: add new commands

    This PR adds new commands as listed below:

    • version - to display project version specified at package.json file.
    • botinfo - to display bot informations.
    • uptime- to show how long the bot is online.
    • avatar - to display user's avatar.

    This PR also adds & installs pretty-ms package to convert milliseconds to a human readable string.

    enhancement 
    opened by gifaldyazkaa 0
  • ๐Ÿ”ฎ Add activity presence & wrap command output inside embed

    ๐Ÿ”ฎ Add activity presence & wrap command output inside embed

    ๐Ÿ“ Commit details

    • feat: :guitar: add clear command
    • chore: :robot: wrap command output inside embed
    • feat: :guitar: show client ws latency and wrap output inside embed
    • feat: :guitar: add activity presence
    enhancement 
    opened by gifaldyazkaa 0
  • ๐Ÿž Wrap id command output inside embed

    ๐Ÿž Wrap id command output inside embed

    ๐Ÿ“ Commit details

    • chore: :robot: wrap command output inside embed Instead of sending raw content, send command output inside embed

    • feat: :guitar: add prettier config file Add prettier configuration file (.prettierrc.yml) to root folder

    • chore: :robot: wrap target id inside code block Wrap target.id value inside code block

    opened by gifaldyazkaa 0
Releases(v1.1.0)
  • v1.1.0(Jun 12, 2022)

    What's Changed

    • ๐Ÿ”‘ Change password by @BayuDC in https://github.com/BayuDC/waifuseum/pull/18
    • ๐Ÿž Fix bugs && โšก๏ธ Code efficiency by @BayuDC in https://github.com/BayuDC/waifuseum/pull/19

    Full Changelog: https://github.com/BayuDC/waifuseum/compare/v1.0.0...v1.1.0

    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Jun 11, 2022)

    What's Changed

    • ๐Ÿ’Ž Interact with config file by @BayuDC in https://github.com/BayuDC/waifuseum/pull/1
    • ๐Ÿ“ Manage picture albums by @BayuDC in https://github.com/BayuDC/waifuseum/pull/2
    • ๐Ÿ“ฆ Store picture in Discord server by @BayuDC in https://github.com/BayuDC/waifuseum/pull/3
    • ๐Ÿ’ณ Add id command by @gifaldyazkaa in https://github.com/BayuDC/waifuseum/pull/4
    • ๐Ÿ”– Pagination by @BayuDC in https://github.com/BayuDC/waifuseum/pull/5
    • ๐Ÿž Updating and deleting picture by @BayuDC in https://github.com/BayuDC/waifuseum/pull/6
    • ๐Ÿž Pretty command output by @BayuDC in https://github.com/BayuDC/waifuseum/pull/7
    • ๐Ÿž Manage album using http endpoint by @BayuDC in https://github.com/BayuDC/waifuseum/pull/8
    • ๐Ÿž Improve interaction with bot commands by @BayuDC in https://github.com/BayuDC/waifuseum/pull/9
    • ๐Ÿž Wrap id command output inside embed by @gifaldyazkaa in https://github.com/BayuDC/waifuseum/pull/10
    • ๐Ÿ”’ Authentication by @BayuDC in https://github.com/BayuDC/waifuseum/pull/11
    • ๐Ÿ” Authorization by @BayuDC in https://github.com/BayuDC/waifuseum/pull/12
    • ๐Ÿ” Endpoint for managing user by @BayuDC in https://github.com/BayuDC/waifuseum/pull/13
    • ๐Ÿ”‘ Security improvements by @BayuDC in https://github.com/BayuDC/waifuseum/pull/14
    • ๐Ÿ”ฎ Add activity presence & wrap command output inside embed by @gifaldyazkaa in https://github.com/BayuDC/waifuseum/pull/15
    • ๐Ÿ”’ Private albums and pictures by @BayuDC in https://github.com/BayuDC/waifuseum/pull/16

    Full Changelog: https://github.com/BayuDC/waifuseum/compare/v0.0.0...v1.0.0

    Source code(tar.gz)
    Source code(zip)
  • v0.3.0(Jun 10, 2022)

    What's Changed

    • ๐Ÿ”’ Authentication by @BayuDC in https://github.com/BayuDC/waifuseum/pull/11
    • ๐Ÿ” Authorization by @BayuDC in https://github.com/BayuDC/waifuseum/pull/12
    • ๐Ÿ” Endpoint for managing user by @BayuDC in https://github.com/BayuDC/waifuseum/pull/13

    Full Changelog: https://github.com/BayuDC/waifuseum/compare/v0.2.0...v0.3.0

    Source code(tar.gz)
    Source code(zip)
  • v0.2.0(Jun 10, 2022)

    What's Changed

    • ๐Ÿž Updating and deleting picture by @BayuDC in https://github.com/BayuDC/waifuseum/pull/6
    • ๐Ÿž Pretty command output by @BayuDC in https://github.com/BayuDC/waifuseum/pull/7
    • ๐Ÿž Manage album using http endpoint by @BayuDC in https://github.com/BayuDC/waifuseum/pull/8
    • ๐Ÿž Improve interaction with bot commands by @BayuDC in https://github.com/BayuDC/waifuseum/pull/9
    • ๐Ÿž Wrap id command output inside embed by @gifaldyazkaa in https://github.com/BayuDC/waifuseum/pull/10

    Full Changelog: https://github.com/BayuDC/waifuseum/compare/v0.1.0...v0.2.0

    Source code(tar.gz)
    Source code(zip)
  • v0.1.0(Jun 8, 2022)

    What's Changed

    • ๐Ÿ’Ž Interact with config file by @BayuDC in https://github.com/BayuDC/waifuseum-rewrite/pull/1
    • ๐Ÿ“ Manage picture albums by @BayuDC in https://github.com/BayuDC/waifuseum-rewrite/pull/2
    • ๐Ÿ“ฆ Store picture in Discord server by @BayuDC in https://github.com/BayuDC/waifuseum-rewrite/pull/3
    • ๐Ÿ’ณ Add id command by @gifaldyazkaa in https://github.com/BayuDC/waifuseum-rewrite/pull/4
    • ๐Ÿ”– Pagination by @BayuDC in https://github.com/BayuDC/waifuseum-rewrite/pull/5

    New Contributors

    • @BayuDC made their first contribution in https://github.com/BayuDC/waifuseum-rewrite/pull/1
    • @gifaldyazkaa made their first contribution in https://github.com/BayuDC/waifuseum-rewrite/pull/4

    Full Changelog: https://github.com/BayuDC/waifuseum-rewrite/compare/v0.0.0...v0.1.0

    Source code(tar.gz)
    Source code(zip)
Grupprojekt fรถr kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet fรถr kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide Fรถr information om hur utv

Svante Jonsson IT-Hรถgskolan 3 May 18, 2022
Hemsida fรถr personer i Sverige som kan och vill erbjuda boende till mรคnniskor pรฅ flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo fรถr kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
A Big Picture, Thesaurus, and Taxonomy of Modern JavaScript Web Development

Spellbook of Modern Web Dev A Big Picture, Thesaurus, and Taxonomy of Modern JavaScript Web Development This document originated from a bunch of most

Dexter Yang 15.6k Dec 31, 2022
The vision is for NFTs as unique pages of a PICTURE~BOOK

The vision is for NFTs as unique pages of a PICTURE~BOOK. Where every component is an NFT. Not just the PAGE. Also the TITLE PAGE as a PROMO. The SNDTRACK. So we need a STRUCTURE for this, and a CONTRACT.

NetCinemo 2 Mar 13, 2022
Package fetcher is a bot messenger which gather npm packages by uploading either a json file (package.json) or a picture representing package.json. To continue...

package-fetcher Ce projet contient un boilerplate pour un bot messenger et l'executable Windows ngrok qui va permettre de crรฉer un tunnel https pour c

AILI Fida Aliotti Christino 2 Mar 29, 2022
An open-source server software for a certain anime game.

Open-Shen An open-source server software for a certain anime gaem. Based off the leaked Pancake and closed-source Bridge servers. You can find the Ope

Magix 68 Dec 10, 2022
Analysing and storing r/Place 2022 event

Caching r/Place 2022 This project is live at place.thatguyalex.com. Running scraper locally Install Python and all dependencies from scraper.py import

Alex Tsernoh 157 Dec 16, 2022
A simple app that helps a user monitor daily activities by adding, storing and deleting activities.Built with HTML,CSS and JavaScript

To-do-list A simple list app that allows a user to add and remove tasks. Built With HTML CSS JS Webpack Live Demo Click To-do-list to see the page. Ge

Catherine K 7 Apr 8, 2022
Minty is an example of how to mint non-fungible tokens (NFTs) while storing the associated data on IPFS

Minty is an example of how to mint non-fungible tokens (NFTs) while storing the associated data on IPFS. You can also use Minty to pin your data on an IPFS pinning service such as nft.storage and Pinata.

One & Zeros 10 Nov 12, 2022
DocuBox is a cloud file storing app built using Kotlin, Nodejs and MongoDb.

DocuBox is an app where you can securely upload your files on the cloud โ€“ from family pictures and audio recordings to spreadsheets, presentations and other confidential documents. All the files uploaded by the users are stored in an encrypted format.

Ishant Chauhan 10 Nov 18, 2022
fully selfhosted multi-user web app for externally storing Reddit items (saved, created, upvoted, downvoted, hidden) to bypass Reddit's 1000-item listing limits

expanse fully selfhosted multi-user web app for externally storing Reddit items (saved, created, upvoted, downvoted, hidden) to bypass Reddit's 1000-i

J Chan 216 Dec 30, 2022
Advanced Web3 file storing and sharing application.

Storz Winner of Decentralized Storage Infrastructure & Community Choice Award of Web3 Infinity Hackathon 2022 organized by Protocol Labs, Filecoin Fou

Anom Chakravorty 99 Dec 30, 2022
Awesome Books project : An online Book Library. Storing book information using local storage and displaying it as a list on HTML page

This is project is my based on building an online Book Library. Storing book information using local storage and displaying it as a list on html page

Richard Chileya 7 Nov 11, 2022
Monolithic repo for api server, image server, web server

Onsecondary Market Deployed at https://market.onsecondary.com Monolithic repo for api server, image server, web server TODO -use a script to cull expi

Admazzola 2 Jan 11, 2022
Anime API Wrapper!

Anime API Wrapper API Base https://www.zoroapi.tk/ Authentication This API doesn't require any Authentication As We does not store any files on our se

Abhay 3 Sep 18, 2022
WPPConnect/WA-JS API SERVER is a small api server to provide url preview for @wppconnect/wa-js library

WPPConnect/WA-JS API SERVER WPPConnect/WA-JS API SERVER is a small api server to provide url preview for @wppconnect/wa-js library Our online channels

null 13 Aug 11, 2022
Utility for Anime Empire's Treasury Team

TreasuryTools Utility for Anime Empire's Treasury Team to make Merching, Radding, and Running easier and more efficient. Table of Contents Command Usa

Zlushiie 1 Dec 31, 2021
Different Types of Monsters Card of Popular anime. Build in React tech.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: ya

Abhishek Tiwari 5 Mar 19, 2022