Skip to content

Commit b377c61

Browse files
update: Documentation in README
need to add screenshots
1 parent 7424d59 commit b377c61

1 file changed

Lines changed: 126 additions & 130 deletions

File tree

README.md

Lines changed: 126 additions & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,91 @@
1-
# 🛠️ **sysAdmin** - Mobile GUI for Linux System Administrators 🖥️
1+
<div align="center">
2+
<img src="assets/LogoRound.png" alt="SysAdmin Logo" width="180" />
3+
<h1>SysAdmin</h1>
4+
<p><i><b>Linux server management in your pocket</b></i></p>
25

3-
<img src="assets/LogoRound.png" alt="SysAdmin Logo" style="min-width: 10%; max-width: 25%" title="SysAdmin Logo">
6+
<a href="https://github.com/prathameshkhade/SysAdmin/releases" alt="GitHub release"><img src="https://img.shields.io/github/release/prathameshkhade/SysAdmin.svg" ></a>
7+
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](LICENSE)
8+
[![Flutter](https://img.shields.io/badge/Made%20with-Flutter-02569B.svg)](https://flutter.dev/)
9+
[![GitHub stars](https://img.shields.io/github/stars/prathameshkhade/SysAdmin)](https://github.com/prathameshkhade/SysAdmin/stargazers)
10+
[![GitHub forks](https://img.shields.io/github/forks/prathameshkhade/SysAdmin)](https://github.com/prathameshkhade/SysAdmin/network/members)
11+
[![Contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg)](CONTRIBUTING.md)
412

5-
Welcome to **sysAdmin** – a powerful mobile application built with Flutter and
6-
Dart, designed to provide a graphical user interface for Linux system
7-
administrators. sysAdmin enables admins to manage their Linux servers seamlessly
8-
from their mobile devices.
13+
> *"Command your servers, not your schedule. Admin anywhere, anytime."*
14+
</div>
915
10-
## 🚀 Project Overview
16+
## 🔍 Overview
1117

12-
**sysAdmin** is an open-source mobile application that simplifies the management
13-
of Linux servers through an intuitive graphical interface. The application is
14-
built to assist system administrators by offering mobile-friendly tools for
15-
managing servers, users, and services efficiently from anywhere.
18+
**SysAdmin** is an open-source mobile application that puts the power of Linux server administration in your pocket. Built with Flutter, it provides a sleek, intuitive GUI for managing your Linux servers on the go - no laptop required.
1619

17-
With **sysAdmin**, you can:
20+
> *"When your server needs you, but your laptop is at home."*
1821
19-
- Manage user accounts and groups
20-
- Maintain multiple SSH connections simultaneously
21-
- Transfer files using SFTP
22-
- Manage services, view logs, and create/edit cron jobs
23-
- Install, update, and remove packages on your Linux server
24-
- Much more!
22+
> [!warning]
23+
> <b>THIS APP IS IN BETA, SO YOU MAY ENCOUNTER BUGS. IF YOU DO, OPEN AN ISSUE IN OUR GITHUB REPOSITORY BY FILLING OUT THE ISSUE TEMPLATE.</b>
24+
>
25+
> <b>PUTTING SYSADMIN, OR ANY FORK OF IT, INTO THE GOOGLE PLAY STORE VIOLATES THEIR TERMS AND CONDITIONS.</b>
2526
26-
## 🎯 Scope of the Project
27+
## Screenshots
2728

28-
The primary aim of this project is to provide a **cross-platform mobile
29-
solution** for Linux system administrators, allowing them to:
29+
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/00.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/00.png)
30+
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/01.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/01.png)
31+
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/02.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/02.png)
32+
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/03.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/03.png)
33+
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/04.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/04.png)
34+
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/05.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/05.png)
35+
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/06.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/06.png)
36+
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/07.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/07.png)
37+
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/08.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/08.png)
38+
<br/><br/>
39+
[<img src="fastlane/metadata/android/en-US/images/tenInchScreenshots/09.png" width=405>](fastlane/metadata/android/en-US/images/tenInchScreenshots/09.png)
40+
[<img src="fastlane/metadata/android/en-US/images/tenInchScreenshots/10.png" width=405>](fastlane/metadata/android/en-US/images/tenInchScreenshots/10.png)
3041

31-
- Access servers remotely through SSH
32-
- Manage users, files, and services without needing to access a terminal
33-
directly
34-
- Perform critical server management tasks on the go, from any location
42+
## 🌟 Why SysAdmin?
3543

36-
This project is intended for system administrators who prefer a mobile interface
37-
to carry out essential administrative tasks or as an alternative to using a
38-
traditional command-line interface.
44+
Traditional server management requires either physical access or an SSH session through a terminal, which can be inconvenient when you're on the move. **SysAdmin** solves this by providing:
3945

40-
## 🛠️ How sysAdmin Solves the Problem
46+
- [x] **Mobile-First GUI** for Linux server management
47+
- [x] **Multi-Server Support** - manage all your servers from one app
48+
- [x] **Secure Connections** using SSH/SFTP with password or key-based authentication
49+
- [x] **No Command Line Required** (but available when you need it!)
50+
- [x] **Environmentally Friendly** - uses less energy than keeping a laptop running
4151

42-
Traditionally, managing Linux servers requires either physical access or an SSH
43-
session through a terminal, which may be inconvenient while on the go or for
44-
small tasks. sysAdmin provides a **mobile GUI** for:
52+
> *"Because the command line should be a choice, not a necessity."*
4553
46-
- **`User and Group Management`**: Create, edit, or delete users and groups
47-
effortlessly from your mobile device.
48-
- **`SSH Management`**: Connect and manage multiple servers through SSH, all
49-
from one interface.
50-
- **`SFTP File Transfer`**: Seamlessly upload, download, and manage files on
51-
your server using SFTP.
52-
- **`Service and Log Management`**: Start, stop, or restart services and
53-
access system logs with just a few taps.
54-
- **`Cron Jobs`**: Quickly schedule and edit cron jobs with a simple
55-
interface.
56-
- **`Application Management`**: Install, update, remove, or search for
57-
packages on your server without hassle.
54+
## 🚀 Key Features
5855

59-
**sysAdmin** saves time by eliminating the need for terminal access for routine
60-
tasks and provides a **visual interface** that enhances usability.
56+
### Currently Available
6157

62-
## 📦 Project Structure
58+
- **Dashboard** - View server status, system metrics, and connection details at a glance
59+
- **SSH Manager** - Store and manage multiple server connections securely
60+
- **System Information** - Detailed hardware information about your connected server
61+
- **Real-time System Resource Monitoring** - Track CPU, RAM, and swap usage with graphs
62+
- **SFTP File Explorer** - Browse, upload, download, and manage files with ease
63+
- **Schedule Jobs** - Create one-time and recurring tasks
64+
- **Environment Variables** - Manage both local and global environment variables
65+
- **Terminal** - Full terminal access when you need the command line
66+
67+
### Coming Soon
68+
69+
- **User & Group Management**
70+
- **Service & Log Management**
71+
- **Package Management**
72+
- **Firewall Configuration**
73+
- **Container Management** (Docker/Podman)
74+
- **Disk & Network Management**
75+
- **VNC Support**
76+
77+
## 🔍 Understanding The Problem
78+
79+
As a Linux system administrator, you may have faced these challenges:
80+
81+
- 💻 **Always needing a laptop** to connect to your servers
82+
- ⏱️ **Time wasted** turning on devices, connecting, and executing repetitive commands
83+
- 🔄 **Repetitive tasks** that could be simplified with a GUI
84+
- 🔋 **Energy consumption** from keeping a laptop running for quick server checks
85+
86+
SysAdmin addresses these issues by providing a comprehensive mobile solution that puts powerful server management tools in your pocket.
87+
88+
## 💡 Project Architecture
6389

6490
```shell
6591
lib/
@@ -103,113 +129,83 @@ lib/
103129
└── main.dart # App entry point
104130
```
105131

106-
### Explanation of Key Folders:
107-
108-
- **`core/`**: Contains essential elements like constants, themes, and
109-
reusable widgets that are used across the app.
132+
## 🛡️ Security Features
110133

111-
- **`data/`**: Manages all data-related functionalities such as models,
112-
repositories, and services (like networking or local storage). For instance,
113-
models for user accounts, SSH connections, and other entities reside here.
134+
Security is our top priority. SysAdmin implements:
114135

115-
- **`domain/`**: Focuses on the business logic layer, separating concerns and
116-
following clean architecture principles. This ensures scalability for future
117-
features.
136+
- **Local Authentication** - Biometric/pin protection using your device's screen lock
137+
- **Encrypted Communications** - All server communications use SSH/SFTP encryption
138+
- **Secure Credential Storage** - Connection details are stored in your device's secure storage
139+
- **No Server-side Components** - Your credentials never leave your device
118140

119-
- **`presentation/`**: Deals with the UI aspect of your app, including the
120-
various screens and reusable UI components specific to each feature.
141+
## 🌱 Sustainable Development Goals
121142

122-
- **`providers/`**: Handles the state management system, ensuring that the
123-
app’s state is efficiently managed (whether you use Riverpod, Provider, or
124-
another state management tool).
143+
SysAdmin contributes to several UN Sustainable Development Goals:
125144

126-
- **`routes/`**: Manages the navigation logic, defining how the app moves
127-
between different screens.
145+
- **SDG 4 (Quality Education)** - Making server management more accessible to beginners
146+
- **SDG 8 (Decent Work and Economic Growth)** - Increasing productivity and supporting remote work
147+
- **SDG 9 (Industry, Innovation, and Infrastructure)** - Promoting innovation with mobile-friendly server management
148+
- **SDG 11 (Sustainable Cities and Communities)** - Supporting smart infrastructure with less energy usage
149+
- **SDG 17 (Partnerships for the Goals)** - Encouraging open-source collaboration
128150

129-
- **`config/`**: Stores configuration settings for different environments
130-
(development, production, etc.).
131-
132-
This structure will ensure that your app remains maintainable and scalable as
133-
the project grows with additional features.
134-
135-
## 🌟 Features
136-
137-
- **User and Group Management**: Add, remove, or update user groups and
138-
accounts on the server.
139-
- **SSH Management**: Connect to multiple servers simultaneously and manage
140-
SSH connections.
141-
- **SFTP Support**: Upload, download, and manage files with SFTP
142-
functionality.
143-
- **Service Management**: Start, stop, or restart server services with ease.
144-
- **Log Viewing**: View system logs for troubleshooting and monitoring server
145-
health.
146-
- **Cron Job Management**: Create and manage scheduled tasks (cron jobs) with
147-
a user-friendly interface.
148-
- **Application Management**: Manage installed packages on the server.
149-
150-
## 💡 Getting Started
151+
## 🚀 Getting Started
151152

152153
### Prerequisites
153154

154-
- [Flutter](https://flutter.dev/docs/get-started/install) installed on your
155-
system.
156-
- A Linux server with SSH access for testing.
157-
- Basic knowledge of Dart and Flutter.
155+
- Flutter SDK (latest stable version)
156+
- Android Studio or VS Code with Flutter extensions
157+
- A test Linux server with SSH access
158158

159159
### Installation
160160

161-
1. **Clone the Repository**:
162-
163-
```bash
164-
git clone https://github.com/prathameshkhade/sysAdmin.git
165-
cd sysAdmin
166-
```
167-
168-
2. **Install Dependencies**:
169-
170-
```bash
171-
flutter pub get
172-
```
173-
174-
3. **Run the Application**:
175-
```bash
176-
flutter run
177-
```
161+
1. **Clone the repository:**
162+
```bash
163+
git clone https://github.com/prathameshkhade/SysAdmin.git
164+
cd SysAdmin
165+
```
178166

179-
## 🛠️ Contribution Guidelines
167+
2. **Install dependencies:**
168+
```bash
169+
flutter pub get
170+
```
180171

181-
Follow this [Contribution Guideline](CONTRIBUTION.md) to contribute in this project.
172+
3. **Run the app:**
173+
```bash
174+
flutter run
175+
```
182176

183-
## 🔧 Future Roadmap
177+
### First-time Setup
184178

185-
We are actively working on the following features:
179+
1. Launch the app
180+
2. Navigate to SSH Manager and add your first server connection
181+
3. Set your preferred connection as default
182+
4. Explore the dashboard and features!
186183

187-
- **Server Health Monitoring:** Add server CPU, memory, and disk monitoring.
188-
- **Real-Time Notifications:** Receive real-time alerts for server issues.
189-
- **Custom Server Scripts:** Add the ability to run custom shell scripts via
190-
the mobile app.
191-
- **Process Management:** View, start, stop, and terminate running processes.
192-
- **Disk Management:** View, format, partition, and mount disks.
193-
- **Backup and Restore:** Create and restore system backups.
194-
<!-- - **Multilingual Support**: Add localization for more languages. -->
184+
## 🤝 Contributing
195185

196-
> [!TIP] > **Feel free to suggest new features by opening a GitHub issue!**
186+
We welcome contributions from everyone! Whether you're fixing bugs, improving documentation, or proposing new features, your help is appreciated.
197187

198-
## 📄 License
188+
Please read our [Contribution Guidelines](CONTRIBUTING.md) before submitting a pull request.
199189

200-
This project is licensed under the GPLv3.0 License - see the [LICENSE](LICENSE) file
201-
for details.
190+
> *"In open source, we feel strongly that to really do something well, you have to get a lot of people involved."* - Linus Torvalds
202191
203-
## 🛡️ Security
192+
## 📜 License
193+
<div align='center'>
194+
<a href="https://www.gnu.org/licenses/gpl-3.0.en.html">
195+
<img src="https://www.gnu.org/graphics/gplv3-127x51.png" alt="GNU GPLv3 Image">
196+
</a>
197+
</div>
204198

205-
If you discover any security vulnerabilities, please report them directly to the
206-
repository maintainer. All security vulnerabilities will be promptly addressed.
199+
<p>SysAdmin is Free Software: You can use, study, share, and improve it at will.
200+
<p>Specifically you can redistribute and/or modify it under the terms of the [GNU General Public License](https://www.gnu.org/licenses/gpl.html) as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
207201

208-
## 📞 Contact
202+
## 📬 Contact
209203

210-
Feel free to reach out via GitHub issues or by emailing us at
211-
[pkhade2865+sysadmin@gmail.com](mailto:pkhade2865+sysadmin@gmail.com).
204+
Questions or feedback? Reach out at [pkhade2865+sysadmin@gmail.com](mailto:pkhade2865+sysadmin@gmail.com) or report an issue [GitHub Issues](https://github.com/prathameshkhade/SysAdmin/issues)
212205

213206
---
214207

215-
# We hope this project makes Linux server management more accessible and efficient for system administrators on the go! 🚀
208+
<div align="center">
209+
<h3><b>Made with ❤️ by the <i>prathameshkhade</i></b></h3>
210+
<p><i>Because server management shouldn't require a desk.</i></p>
211+
</div>

0 commit comments

Comments
 (0)