Skip to content

Commit

Permalink
chore: make readme nice and pretty
Browse files Browse the repository at this point in the history
  • Loading branch information
pnxl authored Aug 13, 2023
1 parent 388f6bb commit d684939
Showing 1 changed file with 67 additions and 8 deletions.
75 changes: 67 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,45 @@
# Drive, a cattolabs alternative
<h3 align="center">
<img src="https://github.com/catto-labs/drive/blob/main/src/assets/icon/logo.png?raw=true" width="100" alt="Logo"/><br/>
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png" height="30" width="0px"/>
Drive by catto labs
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png" height="30" width="0px"/>
</h3>

<p align="center">
Drive - a versatile file-sharing platform inspired by Google Drive and WeTransfer. With a range of sharing options, including anonymous uploads and easy file sharing, Drive empowers users to collaborate and exchange files effortlessly. Experience the freedom of anonymous sharing with Drive.
</p>

## Table of Contents
Buckle up your seatbelt, this'll be a long one.

- [Tech Stack](#tech-stack)
- [Using the API](#using-the-api)
- [Differences between anonymous and authenticated users on the API](#differences-between-anonymous-and-authenticated-users-on-the-api)
- [Where do I find the API token?](#where-do-i-find-the-api-token)
- [Get a workspace ID](#get-a-workspace-id)
- [Integration with ShareX](#integration-with-sharex)
- [Manual](#manual)
- [Pre-made: Anonymously upload public files](#pre-made-anonymously-upload-public-files)
- [Integration with cURL](#integration-with-curl)
- [Upload as anonymous](#upload-as-anonymous)
- [Upload as authenticated to a certain workspace](#upload-as-authenticated-to-a-certain-workspace)
- [Meet The Team](#meet-the-team)
- [Project setup and development](#project-setup-and-development)
- [Recommended IDE Setup:](#recommended-ide-setup)
- [Development setup:](#development-setup)


## Tech Stack
The main tech stack is Solid JS with Solid Start using TypeScript, UnoCSS, Kobalte UI and (of course, being the most essential for this hackathon) Supabase with the v2 JavaScript SDK.

Features of Supabase have been utilized as follows:

* Authentication: Made a full user system with email + OAuth login and a tutorial process upon your first log-in
* Database: Used to store all information necessary for the users, such as uploads, workspaces, and profiles themselves.
* Edge Functions: Used to handle all upload tasks to Supabase storage.
* Storage: Used to store all user uploaded files.

This usage is covering all major feature areas of Supabase, and many of these features like the database, edge functions and storage are heavily used across the product.

## Using the API

Expand All @@ -19,7 +60,7 @@ You can use the API as unauthenticated (anonymous) or [authenticated](#how-to-au
| Remove uploaded file later - with no self destruct option | ❌ No | ✅ Yes |
| Access private files - if user is allowed | ❌ No | ✅ Yes |

### Where to find the API token ?
### Where do I find the API token?

If you do have an account, head over the "My Account" page and
grab your "API Token" from there.
Expand Down Expand Up @@ -112,11 +153,29 @@ parameter, it'll take the root workspace by default.
`private` defaults to `1` if not passed. If you want to make publicly
accessible uploads, you might have to change it to `private=0`.

## Run locally
## Meet The Team
- [@Vexcited](https://github.com/vexcited): full stack developer (insanely productive, carried the project (as always) 😂 ♥)
- [@pnxl](https://github.com/pnxl): front-end developer, ui/ux designer
- [@trobonox](https://github.com/trobonox): creator of initial concept/idea, project manager (leading development, setting priorities and goals), full stack developer (mostly front-end)

```bash
pnpm dev
## Project setup and development
### Recommended IDE Setup:
[Visual Studio Code](https://code.visualstudio.com/), with:
- [UnoCSS Intellisense](https://marketplace.visualstudio.com/items?itemName=antfu.unocss)
- [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)

# or start the server and open the app in a new browser tab
pnpm dev --open
```
### Development setup:
Prerequisites:

- Populate the .env file with the secrets from Supabase Studio (see .env.example for the file format)
- Install needed dependencies using `pnpm install`
- Fix code style issues using `pnpm lint`

For development with a local preview and hot reloading, running a development server is done using the `pnpm dev` command.
To build for production, use the `pnpm build` command.

---

Copyright (c) 2023 catto labs

Licensed under the MIT license.

0 comments on commit d684939

Please sign in to comment.