Skip to content

Commit

Permalink
Merge pull request #2 from jer-nc/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
jer-nc authored Dec 28, 2023
2 parents f293b94 + 321e6b0 commit 3701481
Show file tree
Hide file tree
Showing 71 changed files with 3,120 additions and 438 deletions.
75 changes: 53 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,61 @@
# React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
# Bucket Box

Currently, two official plugins are available:
Bucket Box is a lightweight experimental desktop application designed for managing AWS S3 buckets. This project utilizes AWS CLI v2 to execute commands for interacting with AWS services.

- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
> [!NOTE]
> Please note that it has primarily been tested on Windows OS.
## Expanding the ESLint configuration
> [!CAUTION]
> This project is experimental and may contain bugs and/or incomplete features.
If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:

- Configure the top-level `parserOptions` property like this:

```js
export default {
// other rules...
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
project: ['./tsconfig.json', './tsconfig.node.json'],
tsconfigRootDir: __dirname,
},
}
```
| Bucket List | New Bucket |
| ---------------------------------------- | -------------------------------------- |
| ![Bucket List](./public/bucket-list.png) | ![New Bucket](./public/new-bucket.png) |

- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked`
- Optionally add `plugin:@typescript-eslint/stylistic-type-checked`
- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list
| Object Detail | Contents |
| ----------------------------------------- | ---------------------------------- |
| ![Object Detail](./public/obj-detail.png) | ![Contents](./public/contents.png) |

## Features

- **Bucket Management:** View all S3 buckets, create new buckets, and examine bucket policies and CORS rules.
- **File Operations:** Explore bucket contents, preview various file types (images, code files), upload, download, and delete files from buckets.
- **File Transfer:** Conveniently drag and drop files from your local machine to upload them directly to an S3 bucket.
- **Pre-signed URLs:** Generate pre-signed URLs for secure file access.

## Technology Stack

- **Frontend:** `React`, `TypeScript`, `React Query v5`, `Tailwind CSS`, `shadcn/ui`
- **AWS CLI v2:** For AWS interactions
- **Desktop App Framework:** `Tauri`

## Installation

You can download and install Bucket Box from the [Releases](https://github.com/jer-nc/bucket-box/releases) section of this repository.

### Prerequisites

- AWS CLI v2 installed and configured

## Usage

1. **Download:** Obtain the installer from the Releases page.
2. **Installation:** Follow installation instructions provided in the installer.
3. **AWS Configuration:** Ensure AWS CLI v2 is correctly configured with necessary permissions.
4. **Launch:** Open Bucket Box to start managing your S3 buckets.


## Acknowledgments

- Thanks to the contributors and developers of the libraries and frameworks used in this project.

## Resources

- [AWS CLI v2](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html)
- [Tauri](https://tauri.app/)
- [React Query](https://tanstack.com/query/latest/)
- [Tailwind CSS](https://tailwindcss.com/)
- [shadcn/ui](https://ui.shadcn.com/)
Loading

0 comments on commit 3701481

Please sign in to comment.