Skip to content
This repository has been archived by the owner on Nov 8, 2023. It is now read-only.

ShaneMaglangit/stampxl

Repository files navigation

image

👑 Stampxl

Build your empire of pixel badges. Show off your collection that reflects your personality and achievements. Participate in events or trade with others to grow your inventory (inspired by Holopin.io)
Visit the site »

Website · Issues · Hanko

About the project

Stampxl is an open-sourced project inspired by Holopin.io where you can collect and trade pixel badge collectibles. These are distributed through events or as easter-eggs. Some badges are tradeable, which means you can trade with other users to grow your collection and own badges that you have missed out on.

Features

  • Create Badges Organizations, maintainers, and recognized individuals can create badges that they can distribute as rewards or as giveaways.
  • Collect Badges Users can collect badges by reedeming them through claim tokens/links that are distributed by the creators.
  • Trade Badges Users can trade badges with other users, to grow their own collection or get rarer badges to that suits their personality.
  • Passwordless Authentication Experience a seamless login experience with passwordless authentication with passkeys.

Are you now curious with our platform? Join us now, we're giving away free early-bird badges for the first 100 users!

Contributing

Prerequisites

Here is what you need to be able to run Stampxl.

  • Node.js (Version: >=20.x)
  • PostgreSQL
  • Hanko Cloud
  • PNPM (recommended)

Setup

  1. Clone the repo into a public GitHub repository (or fork https://github.com/ShaneMaglangit/stampxl/fork).

    git clone [email protected]:ShaneMaglangit/stampxl.git
  2. Install dependencies

    cd stampxl
    pnpm install
  3. Setup environment variables by copying .env.example to .env and filling in the values.

    mv .env.example .env
  4. Initialize the database (make sure DATABASE_URL contains a valid database connection string)

    pnpm db:push
  5. Run the development server

    pnpm dev

Setting up Hanko Cloud

  • Go to https://cloud.hanko.io/ and setup a new account.
  • Create a new project that will be linked to your local development environment.
  • Open your project and go to Settings > General
    • Set APP_URL to http://localhost:3000 or your preferred port.
    • Copy API_URL and set it as the value of NEXT_PUBLIC_HANKO_API_URL in your .env file.

Update User Roles

  1. Create a new account by going to /login and completing the registration process.
  2. Go to the users table in the database and add CREATOR and ADMIN to your roles. 3. CREATOR - allows you to create badges 4. We would add a script to automate this in the future. If you're interested in contributing, feel free to open a Pull Request

Best Practices and Guidelines

  • Writing good commit messages
  • We are yet to add determine conventions and style guidelines for the project. But we're open to suggestions and contributions.

Start Contributing!

You're all set! Visit our issues to start contributing.

License

Distributed under the GNU General Public License v3.0. See LICENSE.md for more information.

Acknowledgements

Special thanks to these amazing projects which help power Stampxl: