mirror of
https://github.com/Drop-OSS/drop.git
synced 2025-11-13 00:02:37 +10:00
docs(readme): update information and setup guide
This commit is contained in:
27
README.md
27
README.md
@ -9,39 +9,46 @@
|
|||||||
<br>
|
<br>
|
||||||
|
|
||||||
[](LICENSE)
|
[](LICENSE)
|
||||||

|
[](https://lab.deepcore.dev/drop-oss/drop/-/pipelines)
|
||||||
[](https://discord.gg/ZVGggfXN)
|
[](https://discord.gg/ZVGggfXN)
|
||||||
[](https://conventionalcommits.org)
|
[](https://conventionalcommits.org)
|
||||||
|
|
||||||
|
# Drop
|
||||||
|
|
||||||
# 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.
|
||||||
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
|
## Philosophy
|
||||||
1. Drop needs to be flexible. If you look at the code base, there are lots of interfaces and abstractions and generic classes. While these do make Drop a bit heavier, they create the much needed flexibility, modularity and future-proofing that Drop needs.
|
|
||||||
2. Drop needs to be secure. Always have security in mind when designing new features for Drop.
|
|
||||||
3. Drop needs to be user-friendly. Follow good design principles, and don't overload the user with too much information at once. Balance hiding things between menus and showing it all at once.
|
|
||||||
|
|
||||||
## The Tech Stack
|
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.
|
This repo uses the Nuxt 3 + TailwindCSS stack, with the `yarn` package manager.
|
||||||
|
|
||||||
For the database, Drop uses Prisma connected to PostgreSQL.
|
For the database, Drop uses Prisma connected to PostgreSQL.
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
To get started with development, you need `yarn --optional` and `docker compose` installed (or know how to set up a PostgreSQL database).
|
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**
|
### 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.
|
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:
|
Steps:
|
||||||
|
|
||||||
1. Copy the `.env.example` to `.env` and add your GiantBomb metadata key (more metadata providers coming)
|
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`
|
2. Create the `.data` directory with `mkdir .data`
|
||||||
3. Ensure that your user owns the `.data` directory with `sudo chown -R $(id -u $(whoami))`
|
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`
|
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
|
5. Open up another terminal in the root directory of the project and run `yarn` and then `yarn dev` to start the dev server
|
||||||
|
|
||||||
To create an account:
|
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:
|
||||||
Head over to the `/register` page. It's currently a temporary development form for creating a username + password log in.
|
|
||||||
|
http://localhost:3000/register?id=admin
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
Please see the [in-depth contributing guide](CONTRIBUTING.md)
|
|
||||||
|
Please see the [in-depth contributing guide](CONTRIBUTING.md)
|
||||||
|
|||||||
Reference in New Issue
Block a user