Skip to content
This repository has been archived by the owner on Apr 21, 2024. It is now read-only.

'New Derailed'- An actual working version of Derailed #19

Open
VincentRPS opened this issue Mar 12, 2024 · 0 comments
Open

'New Derailed'- An actual working version of Derailed #19

VincentRPS opened this issue Mar 12, 2024 · 0 comments
Assignees
Milestone

Comments

@VincentRPS
Copy link
Member

VincentRPS commented Mar 12, 2024

Project 'New Derailed' is planning to change many things, so not everything will be covered here, and there are some details which I wish to not disclose until these changes are released. New Derailed focuses more upon a Derailed v1 rather than the MVPs of previous work.

In lieu of this, many changes have been taken in the liberty of getting Derailed out there.

I've already been working on this silently for the past few weeks so a lot of progress is already done in terms of setting everything and making it ready for development. What's next is getting routes up and running, and setting up the various systems the API and Gateway will run alongside.

The Extraordinary Changes

  • API and Gateway will both be written in Elixir.
  • Frontend will use SolidJS.
  • Hazel will be removed and the features added by it to be added back in a future update.

Checklist

To be a tad bit more public than usual, here's a little checklist I've made y'all.

Notes:

  • 'New Derailed' will not include profile pictures, guild icons, banners, or any other media to simplify the code base at least temporarily.
  • A lot of GET requests are not present here since the data can be given via the Gateway. They should be added only once our public bot API releases.
  • This is for a first version of Derailed not an MVP, so the Gateway and API will be in Elixir to minimize latency, remove the need for gRPC, and to use the best language on the planet (/s).
  • Relationships & DMs will be supported in the future. At the moment, only guilds are part of the focus.

API (Routes)

Users

  • Register
  • Login
  • Get Current User
  • Modify Current User

Guilds

  • Create Guild
  • Modify Guild
  • Delete Guild
  • Get Guild Bans
Guild Members
  • Join Guild (POST /invites/{invite_id})
  • Leave Guild (DELETE /guilds/{guild_id}/members/@me)
  • Modify Current Member
  • Modify Other Member
  • Kick Member
  • Ban Member
  • Unban Member
Guild Roles

Note

@everyone will no longer be a real role, but will just be treated like one (to simplify logic for the @everyone role, but still cutting out role position zero.)
Permissions for @everyone will instead be modified in Modify Guild via a global_permissions field.

There won't be any way to create roles. This is just for the @everyone role.

- Modify Global Role (Only permissions are allowed to change, with color coming later.)

Channels

There will only be channels type 0 and 1, category and text respectively.

  • Create Message
  • Modify Message
  • Delete Message
  • Get Channel Messages
  • Modify Channel
  • Mark Read State
  • Create Invite
  • Delete Invite

Channels (Guild-specific)

  • Create Channel (Guild)
  • Delete Channel (Guild)

Gateway (Calls/OP Codes)

  • Identify
  • Resume
  • Get Guild Members
  • Update Presence
@VincentRPS VincentRPS added this to the 0.1 - Alpha milestone Mar 12, 2024
@VincentRPS VincentRPS self-assigned this Mar 12, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant