Skip to content

orangegrp/orange

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Logo Logo

Welcome to project orange🟠

Getting started

If you've just joined project orange🟠, first of all - welcome! Please familiarise with all the information on this meta repo as well as any specific repos you've been assigned to. Currently, most repos lack technical documentation due to their infancy - however, we've put together a general set-up guide to get you up and running as quickly as possible, no matter which repo you've been assigned to work on.

Dev operating system

Most of the software in the orange🟠 stack is written for Node.Js so you can develop on pretty much any platform that supports Node.Js such as:

  • Microsoft Windows
  • Most GNU/Linux distributions
  • Apple macOS

Our target operating system is typically Ubuntu Server or any RHEL-based server operating system such as Oracle Linux, CentOS, Fedora, etc running on both linux/amd64 and linux/arm64 platforms. But this shouldn't matter in most cases as most of the code is portable.

Recommended IDE

You can choose which IDE to use, however we'd recommend using VSCode (or a FOSS alternative such as VSCodium). You will need to #to the GitHub extension to be able to use the version control features to sync your work with the repository. Instructions on how to setup the GitHub integration can be found here.

Setting up the project

  1. Make sure you have the latest version of Node.Js installed.
  2. Open a new VSCode window and select Clone git repository.

image

  1. Select Clone from GitHub OR Git: Clone (Recursive)

image

  1. Select the intended repository. For our example we'll use orange-bot.

image

  1. Once the repo is cloned, and you are prompted to open the folder, click Open.
  2. If you are prompted with a security message asking to trust the author(s), choose Trust.
  3. Open the built-in VSCode terminal emulator by choosing Terminal and then New Terminal (or press CTRL + SHIFT + ').
  4. In the terminal window, run the setup script by typing npm run setup.
  5. You can then run npm run build to build all the dependencies (you need to do this at least once).
  6. From now on, any time you make a change to the code, use npm run dev to build and run the current project. If you make any changes to the dependencies, you must run npm run build to recompile them.

Best practice

It is highly recommended that when working on a new feature, you create your own branch and make your changes there instead of committing to main. You can do this by selecting the main branch icon at the bottom of VSCode like so: image

Then click on Create new branch and name it accordingly. image

When you've completed a feature, simply let us know and we'll merge it into the main branch accordingly. If there's any merge conflicts or problems, we'll let you know.

🚨 IMPORTANT 🚨

Make sure the commit and sync order is correct to ensure the repo refs do not get corrupted! (I learnt this the hard way, thanks Topias for helping me btw).

image

Always COMMIT and SYNC the submodules FIRST and only then commit and sync the main repo. (i.e. commit and sync from the bottom-up).

⚠️ Make sure to select a branch for the modules as well, usually main is fine. Make sure you can see main instead of the 5857... and cbc3... hashes otherwise you won't be able to sync to the origin.

If in doubt, ask

If you're not sure on something, please ask and we'll help you figure it out.

List of repositories

Repo Description Status
leta (LEGACY BASE) Leta «Лета», the next-generation bot. Static Badge
studybot (LEGACY BASE) Static Badge
Good Bot (LEGACY BASE) Static Badge
orange-bot orange🟠 Discord Bot Static Badge Static Badge
orange-bot-base orange🟠 Discord Bot (Base repository) Static Badge
orange-crs orange🟠 Code Runner Server orange-crs CI Static Badge
orange-dash orange🟠 Dash Static Badge
orange-common-lib orange🟠 Common Library and Functions Static Badge

Team members

Team member Actively working on repo
Topias orange🟠 Discord Bot (Base repository), orange🟠 Discord Bot, orange🟠 Common Library and Functions
Alex orange🟠 Discord Bot, orange🟠 Common Library and Functions, orange🟠 Code Runner Server, orange🟠 Dash

Releases

No releases published

Packages

No packages published