A webapp which generates a simple Discord profile banner image in real-time which shows user's status and activity.

Overview

DiscordProfileBanner

This tool generates a Discord profile banner image in realtime. I wrote it for use in my AniList profile.

An example in action:

generated image

How it works?

  • A JDA bot is started which keeps users' activity in cache.
  • A Ktor server accepts requests at path /{id}.png where id is the Discord user ID.
  • On each request, an image is generated with user's username, status and activity at that time.

Licence

This project is Licensed under MIT. Please check the LICENSE file for details.

Comments
  • Add a website

    Add a website

    The server needs a frontend for users to naturally interact with

    Planned features:

    • [x] A homepage with some basic promo content
    • [x] A basic leader-board with user ranks
    • [ ] A stats page to view users visit stats

    In progress: #10

    enhancement good first issue 
    opened by quanta-kt 0
  • Add a website

    Add a website

    This PR adds a website to the server for promo and with a leader-board showing user rankings based on the visits they get on their banner.

    Checklist:

    • [x] Home page. Thanks to @rana-desu
    • [x] Make the "get my banner" and "view stats" buttons functional
    • [x] Add stats page
    • [x] Optimise for mobile

    Closes: #11

    opened by quanta-kt 0
  • Better banners + avatar frame

    Better banners + avatar frame

    This adds/changes the following:

    • A "frame" displayed on the left of avatar, the colour of the frame and it's visibility is configurable through the command /avatarframe
    • Status indicator icons moved to a new file (Shapes.kt) and now are abstracted better with a Drawable interface. Also they reassemble Discord's original proportion better.
    • The status text uses same colour as the it's corresponding indicator icon.
    opened by quanta-kt 0
  • Add stats api

    Add stats api

    Added /api/stats/{id} endpoint which responds with visit statistics for the given user id. Also wrote a simple test for this endpoint which hopefully is good enough.

    Closes #2

    opened by quanta-kt 0
  • Log countries

    Log countries

    • Use ipapi.co to fetch country info and log it alongside the visits.
    • Added ktor http client for making API calls.
    • Integrated flyway for handling migrations.
    • Install XForwardedHeaderSupport for getting IP behind proxy.
    opened by quanta-kt 0
Owner
Quanta
Quanta
The app features real-time chatting between different users on daily topics

DailyDiscuss The app features real-time chatting between different users on daily topics. The app comes with 2 types of user interface: Admin who crea

null 1 Dec 20, 2021
Automatically generates UI demos which allow users to call any function with any parameters

Automatically generates UI demos which allow users to call any function (including composable ones) with any parameters. Useful for building demo screens in playground apps of various design systems.

Anton Popov 3 Jul 28, 2022
My personal template for a Spring Boot REST reactive webapp

My personal spring boot kotlin reactive template Features Spring Security implementation with JWT access and refresh token MongoDB database Project Co

Dušan 2 Dec 1, 2021
Camunda Platform 7 WebApp Auto-Login

Camunda Platform 7 WebApp Auto-Login Auto-login feature for development Why should you use it? Because otherwise, you need to type again and again "ad

Holunda 8 Sep 6, 2022
sample project that shows you how you can use Ktor to creat a server for real Project.

Ktor-Sample This is a sample project that shows you how you can use Ktor to creat a server for real Project. What is done Save data to database (Get a

Mohamed Emad 4 Dec 23, 2022
FirestoreCleanArchitectureApp is an app built with Kotlin and Firestore that displays data in real-time using the MVVM Architecture Pattern. For the UI it uses Jetpack Compose, Android's modern toolkit for building native UI.

FirestoreCleanArchitectureApp FirestoreCleanArchitectureApp is an app built with Kotlin and Cloud Firestore that displays data in real-time using Andr

Alex 66 Dec 15, 2022
Task Manager feat. real-time competitive system and user engagement

Dira Что из себя представляет Dira? Android-приложение Directa (сокр. Dira) - это планер, который способен улучшить жизнь пользователей. Он позволяет

Konstantin Albatov 4 Sep 28, 2022
An Android app that scans images or human faces in real time and detects whether the mask is worn or not, with the ability to set an audible alert

Swift Mask Real time face mask detection Brief overview Swift Mask scans images or human faces in real time and detects whether the mask is worn or no

Giorgio Cantoni 4 Sep 22, 2022
Android Project to find FatMax in real time with a Polar H10

FatMaxxer According to recent research (see below) the FatMaxxer Android app may help you to exercise at the optimum effort level for fat burning, mea

null 37 Dec 28, 2022
Online real-time android quiz game

KQuiz Описание проекта Проект представляет собой мобильное приложение, выполнящее роль платформы для создания, поиска, организации и выполнения онлайн

Konstantin Albatov 1 Sep 1, 2022
The app is composed of 2 screens, first is the profile screen, it has the user_name and address pinned at the top and then it lists all of this user’s albums.

The app is composed of 2 screens, first is the profile screen, it has the user_name and address pinned at the top and then it lists all of this user’s albums. When you press on any album it navigates to the second screen which is an album details screen that contains list of the images in an recyclerview grid. Also you have search bar that you can filter within the photos album by the image title.

Mahmoud Ibrahim 4 Jul 10, 2022
This prototype app provides a list of events to be held under an organization (school, college, club, etc.) and the users can manually set event reminders at their scheduled time so that they do not miss an event.

E-CELL NITS Sample App This prototype app provides a list of events to be held under E-Cell NIT Silchar (for example, Srijan 2.0) and the users can ma

Ritam Nath 1 Nov 7, 2021
A backend service that generates a random 32-chars length message and its sha256 hashcode and put them to DB

This is an Android application in which a user can ask the server to generate a random message and its sha256, and ask to obtain this info from the server.

Iskander 1 Nov 20, 2022
A very simple Android app which shows you random memes with the help of meme-api which you can share with your friends!

Meme Share A very simple Android app which shows you random memes with the help of meme-api which you can share with your friends! Tech stack 100% wri

Stɑrry Shivɑm 8 Aug 10, 2022
An AutoValue extension that generates binary and source compatible equivalent Kotlin data classes of AutoValue models.

AutoValue Kotlin auto-value-kotlin (AVK) is an AutoValue extension that generates binary-and-source-compatible, equivalent Kotlin data classes. This i

Slack 19 Aug 5, 2022
KSP-based library that generates lists from your annotation usages

ListGen, Generate Lists From Functions That Have @Listed Annotations! Welcome to ListGen! ListGen is a KSP-based library that can generate lists (and

Adib Faramarzi 24 Dec 6, 2022
Simple event library to communicate between Activity/Fragment and ViewModel

Setup dependencies { implementation "com.github.skgmn:viewmodelevent:1.1.0" } If you don't know how to access to GitHub Packges, please refer to

null 4 Apr 6, 2022
Map-vs-list-comparator - The project compares the time needed to find a given element in a map vs the time needed to find a given element in a list.

Map vs List Comparator The project compares the time needed to find a given element in a map vs the time needed to find a given element in a list. To

null 0 Jan 4, 2022
An Android Image compress library, reduce's the size of the image by 90% without losing any of its pixels.

Image Compressor An Android image compress library, image compressor, is small and effective. With very little or no image quality degradation, a comp

Vinod Baste 11 Dec 23, 2022