No description
Find a file
2024-11-16 17:03:52 +11:00
.vscode starting docs infra 2024-10-25 13:15:46 +11:00
assets ca groundwork 2024-10-07 22:35:54 +11:00
build docker based deployment 2024-11-04 20:50:35 +11:00
components feat(ui): user widget now redirects to actual page 2024-11-16 16:08:23 +11:00
composables feat: new ws handler 2024-11-16 17:03:52 +11:00
deploy-template update deploy template 2024-11-05 11:02:35 +11:00
dev-tools docker based deployment 2024-11-04 20:50:35 +11:00
docs starting docs infra 2024-10-25 13:15:46 +11:00
layouts starting docs infra 2024-10-25 13:15:46 +11:00
middleware add proper carousel to store page 2024-10-27 15:21:31 +11:00
pages feat: new ws handler 2024-11-16 17:03:52 +11:00
plugins game version re-ordering 2024-10-14 20:34:23 +11:00
prisma fix: split prisma schemas 2024-11-16 16:30:22 +11:00
public completed game importing; partial work on version importing 2024-10-11 00:37:08 +11:00
server fix: admin invitation w/ system user 2024-11-16 17:03:04 +11:00
.dockerignore docker based deployment 2024-11-04 20:50:35 +11:00
.editorconfig move to yarn v2 2024-11-04 22:55:29 +11:00
.env.example object storage + full permission system + testing 2024-10-09 14:43:06 +11:00
.gitattributes move to yarn v2 2024-11-04 22:55:29 +11:00
.gitignore move to yarn v2 2024-11-04 22:55:29 +11:00
.gitlab-ci.yml build only ci 2024-11-05 11:09:16 +11:00
.yarnrc remove bcrypt (debug) 2024-11-05 10:49:48 +11:00
app.vue ca groundwork 2024-10-07 22:35:54 +11:00
CONTRIBUTING.md docs: Updated README.md 2024-11-05 12:39:09 +11:00
Dockerfile back to yarn, with nuxt telemetry force disabled 2024-11-04 22:15:36 +11:00
error.vue server side and user client side completed for registration 2024-10-28 22:16:29 +11:00
LICENSE Add LICENSE 2024-10-22 22:40:13 +00:00
nuxt.config.ts feat(invitations): completed admin UI, with minor changes to backend 2024-11-07 23:23:49 +11:00
package.json chore: update prisma version 2024-11-06 09:29:28 +11:00
README.md docs(readme): update information and setup guide 2024-11-05 12:22:49 +11:00
SECURITY.md docs: Added SECURITY.md 2024-11-05 12:39:09 +11:00
tailwind.config.js Updated tailwind config 2024-10-30 09:17:20 +11:00
tsconfig.json initial commit 2024-09-28 19:12:11 +10:00
yarn.lock chore: update prisma version 2024-11-06 09:29:28 +11:00



GitHub License Gitlab Pipeline Status Discord Conventional Commits

Drop

Drop is an open-source game distribution platform, like GameVault or Steam. It's designed to distribute and shared DRM-free game quickly, all while being incredibly flexible, beautiful and fast.

Philosophy

  1. Drop is flexible. While abstractions and interfaces can make the codebase more complicated, the flexibility is worth it.
  2. Drop is secure. The nature of Drop means an instance can never be accessible without authentication. In line with #1, Drop also supports a huge variety of authentication mechanisms, from a username/password to SSO.
  3. Drop is user-friendly. The interface is designed to be clean and simple to use, with complexity available to the users who want it.

Tech Stack

This repo uses the Nuxt 3 + TailwindCSS stack, with the yarn package manager.

For the database, Drop uses Prisma connected to PostgreSQL.

Development

To get started with development, you need yarn --optional and docker compose installed (or know how to set up a PostgreSQL database).

Note: --optional flag is REQUIRED

Drop uses a utility package called droplet that's written in Rust. It has builts for Linux (GNU) and Windows, and they are set up as optional packages. npm installs these by default, but yarn needs the --optional flag.

Steps:

  1. Copy the .env.example to .env and add your GiantBomb metadata key (more metadata providers coming)
  2. Create the .data directory with mkdir .data
  3. Ensure that your user owns the .data directory with sudo chown -R $(id -u $(whoami))
  4. Open up a terminal and navigate to dev-tools, and run docker compose up
  5. Open up another terminal in the root directory of the project and run yarn and then yarn dev to start the dev server

As part of the first-time bootstrap, Drop creates an invitation with the fixed id of 'admin'. So, to create an admin account, go to:

http://localhost:3000/register?id=admin

Contributing

Please see the in-depth contributing guide