osu!Flex Reborn is a Node.js-based backend, utilizing Express, PostgreSQL, and OAuth2, designed to replace a discontinued application. The primary goal is to allow users to poll tracked user accounts, post to user-supplied webhooks to post on applications such as Discord.
-
High Score Announcements:
- Automatic posting to user-submitted Discord webhooks when new high scores are set.
- Users can submit their Discord webhooks for personalized notifications.
-
Database Design:
- PostgreSQL database is utilized for efficient storage of user and server data.
- Implemented JOI in Node.js for robust input validation to ensure data integrity.
-
Custom JSON Templator:
- Created a Node.js module that employs RegEx in JSON files to replace variable names with corresponding values, making it easy to tweak and edit the current announcement layout.
To run the osu!Flex Reborn backend, follow these steps:
-
Clone the repository:
git clone https://github.com/DominicABrooks/osuFlexBackend.git -
Install dependencies:
cd osuFlexBackendnpm install -
Set up PostgreSQL:
- Create a PostgreSQL database and update the configuration in the project accordingly.
- Configure OAuth2:
- Obtain OAuth2 credentials and update the .env in the project for connection to osu! protected api's.
- Run the application:
cd backend && npm start
- Users can submit their Discord webhooks through the osu!Flex Reborn web interface, which isn't included in this repo as it is not complete.
- High scores for specified users will be automatically announced to the specified Discord webhooks.