Skip to content

Commit c5017a5

Browse files
committed
chore: merge pull request #1 from lucassm02/feature/searchbar
Major Overhaul: SASL Authentication, Auto-Update, and UI/UX Enhancements
2 parents cb598bc + a5c1458 commit c5017a5

File tree

133 files changed

+6814
-2610
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

133 files changed

+6814
-2610
lines changed

.editorconfig

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
root = true
2+
3+
[*]
4+
indent_style = space
5+
indent_size = 2
6+
end_of_line = lf
7+
charset = utf-8
8+
trim_trailing_whitespace = true
9+
insert_final_newline = true

.github/workflows/github-pages.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Deploy website
22

33
on:
44
push:
5-
branches: ['main']
5+
branches: ["main"]
66

77
workflow_dispatch:
88

@@ -12,7 +12,7 @@ permissions:
1212
id-token: write
1313

1414
concurrency:
15-
group: 'pages'
15+
group: "pages"
1616
cancel-in-progress: false
1717

1818
jobs:
@@ -29,7 +29,7 @@ jobs:
2929
- name: Upload artifact
3030
uses: actions/upload-pages-artifact@v3
3131
with:
32-
path: './website'
32+
path: "./website"
3333
- name: Deploy to GitHub Pages
3434
id: deployment
3535
uses: actions/deploy-pages@v4

.gitignore

+3-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ dist-ssr
1313
*.local
1414

1515
# Editor directories and files
16-
.vscode/*
1716
!.vscode/extensions.json
1817
.idea
1918
.DS_Store
@@ -200,4 +199,7 @@ dist
200199
.DS_Store
201200

202201
/release
202+
/cert
203+
204+
*.db
203205

.prettierrc

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"tabWidth": 2,
3+
"useTabs": false,
4+
"semi": true,
5+
"singleQuote": false,
6+
"trailingComma": "none",
7+
"printWidth": 80,
8+
"endOfLine": "lf"
9+
}

.vscode/launch.json

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
// Use o IntelliSense para saber mais sobre os atributos possíveis.
3+
// Focalizar para exibir as descrições dos atributos existentes.
4+
// Para obter mais informações, acesse: https://go.microsoft.com/fwlink/?linkid=830387
5+
"version": "0.2.0",
6+
"configurations": [
7+
{
8+
"type": "node",
9+
"request": "attach",
10+
"protocol": "inspector",
11+
"restart": true,
12+
"name": "DEBUG",
13+
"skipFiles": ["<node_internals>/**"],
14+
"outFiles": ["${workspaceFolder}/**/*.js"]
15+
}
16+
]
17+
}

.vscode/settings.json

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
{
2+
"editor.defaultFormatter": "esbenp.prettier-vscode",
3+
"editor.formatOnSave": true,
4+
"editor.codeActionsOnSave": {
5+
"source.fixAll.eslint": "explicit"
6+
},
7+
"[javascript]": {
8+
"editor.defaultFormatter": "esbenp.prettier-vscode"
9+
},
10+
"[typescript]": {
11+
"editor.defaultFormatter": "esbenp.prettier-vscode"
12+
},
13+
"[typescriptreact]": {
14+
"editor.defaultFormatter": "esbenp.prettier-vscode"
15+
},
16+
"[javascriptreact]": {
17+
"editor.defaultFormatter": "esbenp.prettier-vscode"
18+
},
19+
"[json]": {
20+
"editor.defaultFormatter": "esbenp.prettier-vscode"
21+
},
22+
"cSpell.words": [
23+
"cachedump",
24+
"memgui",
25+
"memjs",
26+
"Sasl",
27+
"SASL",
28+
"seald",
29+
"unmaximize",
30+
"unmaximized",
31+
"Uturn"
32+
],
33+
"editor.tabSize": 2,
34+
"editor.insertSpaces": true,
35+
"files.eol": "\n",
36+
"prettier.useEditorConfig": true,
37+
"prettier.endOfLine": "lf",
38+
"prettier.tabWidth": 2,
39+
"prettier.singleQuote": false,
40+
"prettier.trailingComma": "none"
41+
}

CHANGELOG.md

+36
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,42 @@
22

33
All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/) and uses the [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) format.
44

5+
## [1.0.0] - 2025-02-11
6+
7+
### Added
8+
9+
- **Welcome Screen** displaying a welcome message, a “Create New Connection” button, and a setup guide.
10+
- **Connection Creation/Editing Form** supporting username, password, and timeout (SASL).
11+
- **Disclaimer** about key management limitations when using SASL authentication.
12+
- **Enhanced Key Listing** with a search bar (including regex support) and a selectable number of displayed results.
13+
- **Auto-Update Functionality** to automatically refresh the key list.
14+
- **Data Visualization Modal** for detailed inspection of key values (e.g., JSON).
15+
- **Data Formats (TEXT, JSON, etc.)** when creating/editing keys.
16+
- **Statistics Screen** showing Memcached server metrics (uptime, connections, GET/SET, memory usage, slabs, etc.).
17+
18+
### Changed
19+
20+
- **Project Organization**:
21+
- Added a routing system to improve navigation structure.
22+
- Reconfigured folders and build settings to avoid conflicts.
23+
- **User Experience (UI/UX)**:
24+
- Introduced new icons, logos, and layouts compatible with the application theme.
25+
- Streamlined the flow for creating, editing, and viewing keys.
26+
- Removed extra loading steps during auto-updates, making the process smoother.
27+
28+
### Fixed
29+
30+
- **More Robust Error Handling**, preventing application crashes with invalid inputs.
31+
- **Script path** and build process corrections.
32+
- **Window Title Handling** so it is not improperly displayed in browser environments.
33+
- **Form Value Type Conversion**, ensuring consistent data submission (e.g., numeric vs. string values).
34+
- **Local Storage** switched from `localStorage` to `API Storage` to bypass limitations and prevent data loss.
35+
- **Statistics Fields** adjustments, fixing calculations for requests per second and size metrics.
36+
37+
### Removed
38+
39+
- _(No existing features from the previous version were removed; any items not present before are simply not included.)_
40+
541
## [0.1.0] - 2025-02-02
642

743
### Added

LICENCE.md

+9-9
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,24 @@
44

55
This software, **MemGui**, is licensed under the following terms:
66

7-
## **1. Permissions**
7+
## **1. Permissions**
88

99
You are granted a limited, non-exclusive, non-transferable license to use this software for personal, educational, or non-commercial research purposes only.
1010

11-
## **2. Restrictions**
11+
## **2. Restrictions**
1212

13-
You may NOT:
13+
You may NOT:
1414

15-
- Use this software for commercial purposes, including but not limited to selling, offering paid services, or integrating it into commercial products.
16-
- Modify, adapt, or create derivative works of this software.
17-
- Distribute, sublicense, or publicly share copies of this software or any portion of its code.
18-
- Reverse-engineer, decompile, or attempt to extract the source code.
15+
- Use this software for commercial purposes, including but not limited to selling, offering paid services, or integrating it into commercial products.
16+
- Modify, adapt, or create derivative works of this software.
17+
- Distribute, sublicense, or publicly share copies of this software or any portion of its code.
18+
- Reverse-engineer, decompile, or attempt to extract the source code.
1919

20-
## **3. Disclaimer of Warranty**
20+
## **3. Disclaimer of Warranty**
2121

2222
THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY ARISING FROM THE USE OR INABILITY TO USE THIS SOFTWARE.
2323

24-
## **4. Termination**
24+
## **4. Termination**
2525

2626
Any violation of these terms will result in the immediate termination of this license. The author reserves the right to revoke or modify this license at any time.
2727

README.md

+43-31
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,66 @@
11
# MemGUI
22

33
<p align="center">
4-
<img src="https://raw.githubusercontent.com/lucassm02/mem-gui/main/assets/mem-gui.svg" alt="MemGUI Logo" width="160" />
4+
<img src="https://raw.githubusercontent.com/lucassm02/mem-gui/main/asset/images/logo-white.svg" alt="MemGUI Logo" width="160" />
55
</p>
66

7-
**MemGUI** is a graphical user interface (GUI) for managing **Memcached** databases and cache. It provides an intuitive experience for listing, creating, editing, and deleting keys, overcoming some of Memcached's limitations. It also allows users to view key details such as **content size and TTL** and supports multiple simultaneous connections to different servers.
7+
[![Latest Release](https://img.shields.io/github/v/release/lucassm02/mem-gui?color=blue&label=Download)](https://github.com/lucassm02/mem-gui/releases)
8+
[![License: Non-Commercial Use Only](https://img.shields.io/badge/license-NCU-orange.svg)](LICENSE)
89

9-
## 📌 Features
10+
**MemGUI** is a modern, intuitive GUI for **Memcached**—perfect for anyone wanting to visualize, monitor, and manage cached data without wrestling with the command line. Whether you're handling a single Memcached instance or multiple servers at once, MemGUI makes your workflow faster and simpler.
1011

11-
- **Complete Key Management**
12-
- Create new keys.
13-
- Edit existing keys (value and expiration time).
14-
- Delete keys from the cache.
15-
- View stored keys with details:
16-
- Key name.
17-
- Stored value.
18-
- Expiration time (TTL).
19-
- Content size.
12+
---
2013

21-
- **Multi-Server Support**
22-
- Connect to multiple Memcached instances.
23-
- Seamlessly switch between active connections without closing them.
14+
## 🚀 Why MemGUI?
2415

25-
- **User-Friendly Interface**
26-
- Light and dark mode for an enhanced user experience.
27-
- Simplified navigation for efficient key and server management.
16+
- **Visually Manage Keys**: Create, edit (with text or JSON data), delete, and monitor keys in real time.
17+
- **Auto-Refreshing Listings**: Keep an always up-to-date view of your keys—no manual refresh needed (unless you want to!).
18+
- **Advanced Search**: Filter keys by keywords or use regex for pinpoint accuracy.
19+
- **SASL Authentication**: Safely connect using username/password when your server requires it.
20+
- **In-Depth Stats**: Get instant insights on uptime, memory usage, cache hits, slab details, and more.
21+
- **Multi-Server Connections**: Easily switch between different Memcached servers without losing your flow.
22+
- **Easy Setup Guide**: An optional step-by-step tutorial helps newcomers get started in seconds.
23+
- **Dark & Light Themes**: Choose the interface style that feels best for you.
2824

29-
## 🖼 Screenshots
25+
---
26+
27+
## 📥 Installation
28+
29+
To start using **MemGUI**, visit our [Releases page](https://github.com/lucassm02/mem-gui/releases). Two download options are provided:
3030

31-
### Connection Screen
31+
1. **Portable (Unpacked)**
3232

33-
![Connection Screen](./screenshots/screnshot-00.png)
33+
- No installation required. Just unzip and run the executable.
3434

35-
### Key List
35+
2. **Setup (Installer)**
36+
- A guided installation wizard that walks you through setup on your system.
3637

37-
![Key List](./screenshots/screnshot-01.png)
38-
![Key List](./screenshots/screnshot-02.png)
39-
![Key List](./screenshots/screnshot-05.png)
38+
Pick the format you prefer and launch **MemGUI** to begin managing your Memcached servers!
4039

41-
### Key Creating
40+
---
41+
42+
## 🖼 Screenshots
4243

43-
![Key List](./screenshots/screnshot-04.png)
44+
![Home](./screenshot/00-home.png)
45+
![Help](./screenshot/01-help.png)
46+
![Connection](./screenshot/02-connection.png)
47+
![Advanced Connection](./screenshot/03-advanced-connection.png)
48+
![Empty List](./screenshot/04-empty-list.png)
49+
![Create key](./screenshot/05-create-key.png)
50+
![List](./screenshot/06-list.png)
51+
![Details](./screenshot/07-details.png)
52+
![Edit key](./screenshot/08-edit-key.png)
53+
![Auto refresh](./screenshot/09-auto-refresh.png)
54+
![Filters](./screenshot/10-filter.png)
55+
![Statistics](./screenshot/11-statistics.png)
4456

45-
### Key Editing
57+
---
4658

47-
![Key Editing](./screenshots/screnshot-03.png)
59+
## 🤝 Contributing
4860

49-
### Switch Connection
61+
While **MemGUI** is licensed for **non-commercial use**, we welcome feedback and collaboration! Feel free to [open an issue](https://github.com/lucassm02/mem-gui/issues) or submit a pull request if you spot improvements, bugs, or have feature requests.
5062

51-
![Switch Connection](./screenshots/screnshot-06.png)
63+
---
5264

5365
## 📜 License
5466

asset/icon/icon.ico

18.1 KB
Binary file not shown.

asset/icon/icon.png

18.1 KB
Loading

asset/images/logo-white.png

13.5 KB
Loading

asset/images/logo-white.svg

+9
Loading
File renamed without changes.
File renamed without changes.
File renamed without changes.

assets/vite.svg

-1
This file was deleted.

0 commit comments

Comments
 (0)