Skip to content

slothpixel/core

This branch is 1 commit ahead of, 4 commits behind master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

72bf900 · Feb 12, 2023
Feb 25, 2022
Oct 10, 2021
Dec 6, 2019
Jan 22, 2023
Jan 22, 2023
Oct 10, 2021
Nov 16, 2022
Jan 22, 2023
Oct 10, 2022
Jan 22, 2023
Feb 28, 2021
Jul 24, 2022
Oct 28, 2018
Dec 25, 2019
Oct 31, 2018
Aug 1, 2021
Sep 11, 2021
Jun 16, 2018
Oct 10, 2021
Jan 22, 2023
Jul 27, 2022
Jan 4, 2022
Feb 21, 2021
Feb 12, 2023
Feb 12, 2023

Repository files navigation

core

Discord Code Quality

NOTE: The Slothpixel API is currently in early development - some features are missing and/or incomplete.

Overview

  • This project provides the Slothpixel API for consumption.
  • This API powers the Slothpixel UI, which is also an open source project.
  • Raw data comes from the Hypixel API.
  • A public deployment of this code is maintained by The Slothpixel Project.

Tech Stack

  • Microservices: Node.js
  • Database: Redis

Quickstart (Docker)

  • Install Docker: curl -sSL https://get.docker.com/ | sh. If you are on Windows, make sure you shared the working drive with Docker.
  • Install Docker Compose: curl -L "https://github.com/docker/compose/releases/download/1.17.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose. If you are on Windows, docker-compose comes with the msi package.
  • Create .env file with required config values in KEY=VALUE format (see config.js for full listing of options)
    • HYPIXEL_API_KEY You need this in order to access the Hypixel API. You can get the API key by typing /api on Hypixel.
  • Start containers and initialize databases: docker-compose up
  • Make some changes and commit them.
  • Submit a pull request. Wait for it to be reviewed and merged.
  • OPTIONAL Add your Minecraft UUID to the CONTRIBUTORS.js file.
  • Congratulations! You're a contributor.

Notes

  • The API runs on port 5000 by default.
  • File changes made in the host directory get mirrored into the container.
  • Get a terminal into the running container: docker exec -it slothpixel-core bash
  • The process manager pm2 is used to manage the individual services. Each is run as a separate Node.js process.
    • pm2 list See the currently running services.
    • pm2 start manifest.json Start all the services according to the manifest file
    • pm2 start manifest.json --only web Starts a specific service
    • pm2 stop web Stop a specific service
    • pm2 stop all Stop all the services
    • pm2 logs web Inspect the output of a service
    • docker system prune Cleans your system of any stopped containers, images, and volumes
    • Tests are written using the mocha framework.
      • npm test runs the full test suite.
      • Use mocha CLI for more fine-grained control over the tests you want to run.

Resources

History