Unify your game sources in one place and aquire more of them, using modules made by the community.

Overview

Project Black Pearl

Svelte Tauri

Version Build Status License

Discord

Unify your game sources in one place by using modules made by the community.

What is Project Black Pearl?

Project Black Pearl (or PBP) is an open source project that aims to unify the game sources in one place by using modules and extensions made by the community. It is aimed to provide a convenient way of dealing with games sourced from all sorts of websites and provides a store system powered by a powerful extension ecosystem.

What is the current state of the project?

The project is currently in very early stages of development.

How to contribute?

Recommended IDE Setup

VS Code + Svelte + Tauri + rust-analyzer + Prettier .

  • Clone the repository

git clone https://github.com/ProjectBlackPearl/pbpl.git
cd pbpl
  • Install the dependencies

 npm install
  • Make your changes

  • Run the project

npm run tauri dev
  • Create a Pull Request!

Wiki

Wiki for making contributions

Support

You are always welcome to join our Discord server to get help or just to hang out with us!

Donations

If you would to support the project, you can donate to any of the following wallets. All donations will go toward operating costs and supporting the Project Black Pearl team.

NOTE: If you would like to be given the Epic Donators role on Discord and have your name added to the list of donators, please DM Terrence#9699 on Discord with proof of your donation.

BTC (Bitcoin): bc1qhmjt2vz72gxxeqmh4sah24j67lzpvum945c5eq

XMR (Monero): 47d6EAGzmMb4ofL1fRgYaM4TDvjigcQfe5t64JLez97fJrrSoJvBwJLHzpVayWJUScE4WLcF79pdGQRWuPSPdMqT1MdXGjG

ETH (Ethereum): 0x76a1e6A87Abb8Cd2AA1811E489b0C67d00DAdB3f

LTC (Litecoin): LZbyxofFgXBBRQJKu5MsLT8cdf418WaVuk

Comments
  • Visual issues with the library (PBP 0.2 BETA)

    Visual issues with the library (PBP 0.2 BETA)

    1. Titles and descriptions should have a maximum character limit to them. Right now you could post a whole 15 page essay and it just doesn't look good visually.
    2. There should be a search bar implemented for the library since it can get pretty difficult to find what you're looking for when you have a lot of games there and have to scroll to narnia to find something. There should also be alternative ways to view your games so it looks cleaner. (Example: Epic Games library, Steam library, generally just having the games only shown as small icons if the user prefers it that way)
    bug enhancement 
    opened by Q99kek 2
  • [Backend] Adding a game to the library crashes the app

    [Backend] Adding a game to the library crashes the app

    Log:

    thread 'main' panicked at 'Error while adding game to database.: Error { code: Some(1), message: Some("table games has 3 columns but 5 values were supplied") }', src/database.rs:58:10
    note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    
    bug 
    opened by Brisolo32 2
  • Use database Migrations

    Use database Migrations

    Current database interacting functions do not handle schema changes and make the app crash when there is a difference in already existing schema and source code schema.

    I plan to use rusqlite for database migrations as it is safe, easy to use, convinient and better performing. Current database code needs to be refractored for using rusqlite.

    enhancement 
    opened by infinity-plus 1
  • Adds the default image into /public/Default.png

    Adds the default image into /public/Default.png

    Added the default image into /public/Default.png Used lazy imports to import language files Added 2 more languages (Spanish and Vietnamese) Made the languages display their language names in their language (ex: ru -> Русский) Added action to test PR's

    enhancement bugfix 
    opened by Brisolo32 1
  • Dropdown menus look off on Linux

    Dropdown menus look off on Linux

    Dropdowns on linux have a white background, padding and border radius that can't be changed, this makes dropdowns unreadable

    Here's it on the preferences page image

    And on the search page image

    I don't know if this is a general WebKit problem (Engine on Linux) or is it me using an window manager, but using appearance: none fixes it

    bug 
    opened by Brisolo32 0
  • Refactored the code

    Refactored the code

    Added JSDoc comments to functions, so when you hover you get what the function does. Also refactored Library.svelte and Browse.svelte to make it more concise

    opened by Brisolo32 0
  • Inconsistent Version Numbers in Tauri

    Inconsistent Version Numbers in Tauri

    The package version in tauri.conf.json:

    https://github.com/ProjectBlackPearl/pbpl/blob/c665f8190f8f752b84a1841b2ef0075bb1efbea5/src-tauri/tauri.conf.json#L9-L12

    is conflicting with Cargo.toml:

    https://github.com/ProjectBlackPearl/pbpl/blob/c665f8190f8f752b84a1841b2ef0075bb1efbea5/src-tauri/Cargo.toml#L1-L4

    bug bugfix 
    opened by infinity-plus 0
  • Functional issues with the library (PBP 0.2 BETA)

    Functional issues with the library (PBP 0.2 BETA)

    1. It seems unable to run exec files that are set to be run as admin only UNLESS you also run the pbp app as admin. I don't know if this is intended or not, but if is it should be clarified somewhere. If it's not, I guess solving it could be done by either requiring pbp to be run as admin or by somehow making it capable of opening those exec files.

    2. When you try to edit a game in your library and click "Done", it automatically closes the app and doesn't even save your edit. Clicking off after editing to avoid the app closing doesn't work either so there's no way to save an edit right now.

    bug 
    opened by Q99kek 4
  • Auto-fetch Game Metadata in Library while adding/editing a game

    Auto-fetch Game Metadata in Library while adding/editing a game

    Thinking of using something like https://api-docs.igdb.com/ to automatically set metadata like Game Description and image from the internet.

    A backend function and a frontend button required to achieve the same.

    enhancement 
    opened by infinity-plus 2
Owner
Project Black Pearl
Project Black Pearl
in-place allocation-reusing queues for Rust

FAQs Q: Why did you make this? A: For tracing, I wanted to be able to send formatted log lines to a dedicated worker thread that writes them to a file

Eliza Weisman 141 Jan 3, 2023
A community curated list of Rust Language streamers

Awesome Rust Streaming This is a community curated list of livestreams about the programming language Rust. Don't see a stream that you like? Feel fre

James Munns 587 Dec 26, 2022
In this repository you can find modules with code and comments that explain rust syntax and all about Rust lang.

Learn Rust What is this? In this repository you can find modules with code and comments that explain rust syntax and all about Rust lang. This is usef

Domagoj Ratko 5 Nov 5, 2022
The utility is designed to check the availability of peers and automatically update them in the Yggdrasil configuration file, as well as using the admin API - addPeer method.

Yggrasil network peers checker / updater The utility is designed to check the availability of peers and automatically update them in the Yggdrasil con

null 6 Dec 25, 2022
A set of Zero Knowledge modules, written in Rust and designed to be used in other system programming environments.

Zerokit A set of Zero Knowledge modules, written in Rust and designed to be used in other system programming environments. Initial scope Focus on RLN

vac 44 Dec 27, 2022
Crabzilla provides a simple interface for running JavaScript modules alongside Rust code.

Crabzilla Crabzilla provides a simple interface for running JavaScript modules alongside Rust code. Example use crabzilla::*; use std::io::stdin; #[i

Andy 14 Feb 19, 2022
A cargo plugin for showing a tree-like overview of a crate's modules.

cargo-modules Synopsis A cargo plugin for showing an overview of a crate's modules. Motivation With time, as your Rust projects grow bigger and bigger

Vincent Esche 445 Jan 3, 2023
Operating system based off of blog_os, with the goal of running wasm modules as executables

yavkOS - A OS that attempts at running WASM modules as userspace programs Recommended Development Environment You need nix with the flakes, and nix-co

Yavor Kolev 12 Apr 1, 2023
OP-Up is a hive tool for testing OP-Stack-compatible software modules

op-up Warning This is a work in progress. OP-Up is a hive tool for testing OP-Stack-compatible software modules. This project was born out of the need

nicolas 20 Jun 13, 2023
Scans a given directory for software of unknown provinence (SOUP) and dumps them in a json-file

Scans a given directory for software of unknown provinence (SOUP) and writes them to a json-file. The json-file contains name, version and a meta property for each SOUP.

Dunklas 4 Jul 5, 2022
Checks Crusader Kings 3 user mod files for common mistakes and warns about them.

ck3-tiger Pounces on bugs. Checks Crusader Kings 3 user mod files for common mistakes and warns about them. For example: missing localizations, or usi

Richard Braakman 8 Jan 5, 2023
Leetcode Solutions in Rust, Advent of Code Solutions in Rust and more

RUST GYM Rust Solutions Leetcode Solutions in Rust AdventOfCode Solutions in Rust This project demostrates how to create Data Structures and to implem

Larry Fantasy 635 Jan 3, 2023
sodiumoxide clone, now with less chlorides and more oxides

sodiumoxide2 Less Chlorides, more Oxides! This package is a fork of sodiumoxide, using rust-native crypto. It's not intended to be easy to use or impl

Conrad Ludgate 3 Apr 16, 2023
Salty and Sweet one-line Rust Runtime Optimization Library

SAS SAS (Salty-And-Sweet) is an one-line Rust runtime optimization library. Features NUMA-aware rayon: numa feature should be enabled If you have 1 NU

UlagBulag 3 Feb 21, 2024
Tools to feature more lenient Polonius-based borrow-checker patterns in stable Rust

Though this be madness, yet there is method in 't. More context Hamlet: For yourself, sir, shall grow old as I am – if, like a crab, you could go back

Daniel Henry-Mantilla 52 Dec 26, 2022
Harvest Moon: (More) Friends of Mineral Town event script compiler

mary This is a script compiler for Harvest Moon: Friends of Mineral Town and Harvest Moon: More Friends of Mineral Town for the GBA. The end goal is f

Nat (Stan) 5 Oct 23, 2023
A pretty simple VM implemented with C++. Just one of my practices.

Bailan VM Overview Bailan VM is a simple VM implemented in C++. It just one of my little practices, but my friend, Zihao Qu encouraged me to open its

27Onion Nebell 3 Oct 6, 2022
A tool that helps you to turn in one command a Rust crate into a Haskell Cabal library!

cabal-pack A tool that helps you to turn in one command a Rust crate into a Haskell Cabal library! To generate bindings, you need to annotate the Rust

Yvan Sraka 18 Dec 31, 2022