Skip to content

Commit d132807

Browse files
docs: add comprehensive README documentation
- Replace default Vite template with project-specific README - Add project description and feature highlights - Include installation and quick start guide - Document all features (import, export, copy between projects) - Add detailed usage instructions for all features - Document technology stack (Electron, React, Prisma, etc.) - Include security information and best practices - Add project structure overview - Include contributing guidelines - Add support links and acknowledgments - Add Hacktoberfest participation info
1 parent f4a1875 commit d132807

File tree

1 file changed

+170
-9
lines changed

1 file changed

+170
-9
lines changed

β€ŽREADME.mdβ€Ž

Lines changed: 170 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,177 @@
1-
# React + Vite
1+
# πŸ” ENV Storage Manager
22

3-
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
3+
A secure, offline-first desktop application for managing environment variables across multiple projects. Built with Electron, React, and modern web technologies.
44

5-
Currently, two official plugins are available:
5+
![License](https://img.shields.io/badge/license-MIT-blue.svg)
6+
![Node](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen.svg)
7+
![Electron](https://img.shields.io/badge/electron-38.x-blue.svg)
8+
![React](https://img.shields.io/badge/react-19.x-blue.svg)
69

7-
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh
8-
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
10+
## ✨ Features
911

10-
## React Compiler
12+
- πŸ”’ **Secure Encryption** - AES-256-GCM encryption for all environment variables
13+
- πŸ–₯️ **Desktop Application** - Native cross-platform desktop app (Windows, macOS, Linux)
14+
- πŸ“ **Project Management** - Organize variables by projects
15+
- πŸ“€ **Import/Export** - Support for .env and JSON formats
16+
- πŸ”„ **Copy Between Projects** - Easily duplicate configurations across environments
17+
- πŸ“ **Audit Logging** - Track all changes to your environment variables
18+
- πŸŒ™ **Dark Theme** - Beautiful dark-themed UI
19+
- πŸ” **Master Password** - Single password to access all your secrets
20+
- πŸ’Ύ **Offline First** - All data stored locally, no cloud required
1121

12-
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).
22+
## πŸš€ Quick Start
1323

14-
## Expanding the ESLint configuration
24+
### Prerequisites
1525

16-
If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project.
26+
- Node.js 20 or higher
27+
- npm (comes with Node.js)
28+
29+
### Installation
30+
31+
```bash
32+
# Clone the repository
33+
git clone https://github.com/curiouscoder-cmd/ENV_Storage.git
34+
cd ENV_Storage
35+
36+
# Install dependencies
37+
npm install
38+
39+
# Generate Prisma client
40+
npx prisma generate
41+
42+
# Run in development mode
43+
npm run electron:dev
44+
```
45+
46+
### Building
47+
48+
```bash
49+
# Build for your platform
50+
npm run electron:build
51+
52+
# The built application will be in the dist folder
53+
```
54+
55+
## πŸ“– Usage
56+
57+
### First Time Setup
58+
59+
1. Launch the application
60+
2. Create a master password (remember this - it cannot be recovered!)
61+
3. Start creating projects and adding environment variables
62+
63+
### Managing Projects
64+
65+
- Click "New Project" to create a project
66+
- Select a project from the sidebar to view its variables
67+
- Delete projects by clicking the delete icon
68+
69+
### Managing Environment Variables
70+
71+
- Click "Add Variable" to create a new environment variable
72+
- Toggle visibility to show/hide values
73+
- Copy values to clipboard with one click
74+
- Edit or delete variables as needed
75+
76+
### Import/Export
77+
78+
**Export:**
79+
- Click "Export .env" or "Export JSON" to download your variables
80+
- Choose the format that suits your needs
81+
82+
**Import:**
83+
- Click "Import" button
84+
- Upload a .env or JSON file, or paste content directly
85+
- Choose to skip or overwrite existing variables
86+
- Comments in .env files are preserved as descriptions
87+
88+
### Copy Between Projects
89+
90+
- Select variables using checkboxes
91+
- Click "Copy to Project (N)" button
92+
- Choose target project
93+
- Toggle overwrite mode if needed
94+
- Review and confirm
95+
96+
## πŸ› οΈ Technology Stack
97+
98+
### Backend
99+
- **Electron 38** - Desktop application framework
100+
- **Node.js 20+** - Runtime environment
101+
- **Prisma ORM** - Database management
102+
- **SQLite** - Local database
103+
- **Node.js Crypto** - AES-256-GCM encryption
104+
105+
### Frontend
106+
- **React 19** - UI framework
107+
- **Vite 7** - Build tool and dev server
108+
- **Ant Design 5** - UI component library
109+
- **Tailwind CSS 4** - Utility-first CSS
110+
- **shadcn/ui** - Additional UI components
111+
- **Lucide React** - Icon library
112+
113+
## πŸ”’ Security
114+
115+
- All environment variables are encrypted using AES-256-GCM
116+
- Master password is hashed using PBKDF2 with 100,000 iterations
117+
- Data is stored locally in an SQLite database
118+
- No data is sent to any external servers
119+
- Encryption keys are derived from your master password
120+
121+
## πŸ“ Project Structure
122+
123+
```
124+
ENV_Storage/
125+
β”œβ”€β”€ electron/ # Electron main process
126+
β”‚ β”œβ”€β”€ main.js # Application entry point
127+
β”‚ β”œβ”€β”€ preload.js # IPC bridge
128+
β”‚ β”œβ”€β”€ ipc-handlers.js # Backend handlers
129+
β”‚ β”œβ”€β”€ crypto.js # Encryption utilities
130+
β”‚ └── database.js # Prisma client
131+
β”œβ”€β”€ src/ # React frontend
132+
β”‚ β”œβ”€β”€ components/ # React components
133+
β”‚ β”œβ”€β”€ lib/ # Utility functions
134+
β”‚ └── assets/ # Static assets
135+
β”œβ”€β”€ prisma/ # Database schema
136+
β”‚ └── schema.prisma # Prisma schema
137+
└── public/ # Public assets
138+
```
139+
140+
## 🀝 Contributing
141+
142+
Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.
143+
144+
### Development Setup
145+
146+
1. Fork the repository
147+
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
148+
3. Make your changes
149+
4. Run linting (`npm run lint`)
150+
5. Commit your changes (`git commit -m 'feat: add amazing feature'`)
151+
6. Push to the branch (`git push origin feature/amazing-feature`)
152+
7. Open a Pull Request
153+
154+
## πŸ“ License
155+
156+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
157+
158+
## πŸ™ Acknowledgments
159+
160+
- Built with [Electron](https://www.electronjs.org/)
161+
- UI powered by [Ant Design](https://ant.design/)
162+
- Icons from [Lucide](https://lucide.dev/)
163+
- Database management with [Prisma](https://www.prisma.io/)
164+
165+
## πŸ“§ Support
166+
167+
- πŸ“« [GitHub Issues](https://github.com/curiouscoder-cmd/ENV_Storage/issues)
168+
- πŸ’¬ [GitHub Discussions](https://github.com/curiouscoder-cmd/ENV_Storage/discussions)
169+
- πŸ“§ [Email](mailto:nitya@curiouscoder.live)
170+
171+
## πŸŽƒ Hacktoberfest
172+
173+
This project participates in Hacktoberfest! Check out our [Hacktoberfest Guide](HACKTOBERFEST.md) for contribution ideas and guidelines.
174+
175+
---
176+
177+
Made with ❀️ by the ENV Storage Manager team

0 commit comments

Comments
Β (0)