README update

This commit is contained in:
DecDuck
2024-10-08 00:56:15 +11:00
parent 7869043c28
commit ceacd8469d

View File

@ -1,8 +1,25 @@
# Drop lol
# 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.
## To-do list
- User authentication (done)
- Sessions (done)
- Game database/API (done, with GiantBomb provider, more to come!)
- Metadata matching and import
- Frontend beginnings
## 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
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` and `docker compose` installed (or know how to set up a PostgreSQL database).
Steps:
1. Copy the `.env.example` to `.env` and add your GiantBomb metadata key (more metadata providers coming)
2. Open up a terminal and navigate to `dev-tools`, and run `docker compose up`
3. Open up a terminal in the root directory of the project and run `yarn` and then `yarn dev` to start the dev server
## Contributing
Drop welcomes contributions! Just a couple of notes:
1. We use the Prettier formatter, so please format your code with that
2. Drop uses TailwindCSS `blue-600` and the `zinc` colours for monochrome