From d132807934aa74872d6748bc15f7c88e73acb45b Mon Sep 17 00:00:00 2001 From: Green Hacker Date: Sun, 12 Oct 2025 01:42:44 +0530 Subject: [PATCH 1/2] 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 --- README.md | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 170 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 18bc70e..4a1be47 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,177 @@ -# React + Vite +# 🔐 ENV Storage Manager -This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. +A secure, offline-first desktop application for managing environment variables across multiple projects. Built with Electron, React, and modern web technologies. -Currently, two official plugins are available: +![License](https://img.shields.io/badge/license-MIT-blue.svg) +![Node](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen.svg) +![Electron](https://img.shields.io/badge/electron-38.x-blue.svg) +![React](https://img.shields.io/badge/react-19.x-blue.svg) -- [@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 -- [@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 +## ✨ Features -## React Compiler +- 🔒 **Secure Encryption** - AES-256-GCM encryption for all environment variables +- 🖥️ **Desktop Application** - Native cross-platform desktop app (Windows, macOS, Linux) +- 📁 **Project Management** - Organize variables by projects +- 📤 **Import/Export** - Support for .env and JSON formats +- 🔄 **Copy Between Projects** - Easily duplicate configurations across environments +- 📝 **Audit Logging** - Track all changes to your environment variables +- 🌙 **Dark Theme** - Beautiful dark-themed UI +- 🔐 **Master Password** - Single password to access all your secrets +- 💾 **Offline First** - All data stored locally, no cloud required -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). +## 🚀 Quick Start -## Expanding the ESLint configuration +### Prerequisites -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. +- Node.js 20 or higher +- npm (comes with Node.js) + +### Installation + +```bash +# Clone the repository +git clone https://github.com/curiouscoder-cmd/ENV_Storage.git +cd ENV_Storage + +# Install dependencies +npm install + +# Generate Prisma client +npx prisma generate + +# Run in development mode +npm run electron:dev +``` + +### Building + +```bash +# Build for your platform +npm run electron:build + +# The built application will be in the dist folder +``` + +## 📖 Usage + +### First Time Setup + +1. Launch the application +2. Create a master password (remember this - it cannot be recovered!) +3. Start creating projects and adding environment variables + +### Managing Projects + +- Click "New Project" to create a project +- Select a project from the sidebar to view its variables +- Delete projects by clicking the delete icon + +### Managing Environment Variables + +- Click "Add Variable" to create a new environment variable +- Toggle visibility to show/hide values +- Copy values to clipboard with one click +- Edit or delete variables as needed + +### Import/Export + +**Export:** +- Click "Export .env" or "Export JSON" to download your variables +- Choose the format that suits your needs + +**Import:** +- Click "Import" button +- Upload a .env or JSON file, or paste content directly +- Choose to skip or overwrite existing variables +- Comments in .env files are preserved as descriptions + +### Copy Between Projects + +- Select variables using checkboxes +- Click "Copy to Project (N)" button +- Choose target project +- Toggle overwrite mode if needed +- Review and confirm + +## 🛠️ Technology Stack + +### Backend +- **Electron 38** - Desktop application framework +- **Node.js 20+** - Runtime environment +- **Prisma ORM** - Database management +- **SQLite** - Local database +- **Node.js Crypto** - AES-256-GCM encryption + +### Frontend +- **React 19** - UI framework +- **Vite 7** - Build tool and dev server +- **Ant Design 5** - UI component library +- **Tailwind CSS 4** - Utility-first CSS +- **shadcn/ui** - Additional UI components +- **Lucide React** - Icon library + +## 🔒 Security + +- All environment variables are encrypted using AES-256-GCM +- Master password is hashed using PBKDF2 with 100,000 iterations +- Data is stored locally in an SQLite database +- No data is sent to any external servers +- Encryption keys are derived from your master password + +## 📁 Project Structure + +``` +ENV_Storage/ +├── electron/ # Electron main process +│ ├── main.js # Application entry point +│ ├── preload.js # IPC bridge +│ ├── ipc-handlers.js # Backend handlers +│ ├── crypto.js # Encryption utilities +│ └── database.js # Prisma client +├── src/ # React frontend +│ ├── components/ # React components +│ ├── lib/ # Utility functions +│ └── assets/ # Static assets +├── prisma/ # Database schema +│ └── schema.prisma # Prisma schema +└── public/ # Public assets +``` + +## 🤝 Contributing + +Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests. + +### Development Setup + +1. Fork the repository +2. Create a feature branch (`git checkout -b feature/amazing-feature`) +3. Make your changes +4. Run linting (`npm run lint`) +5. Commit your changes (`git commit -m 'feat: add amazing feature'`) +6. Push to the branch (`git push origin feature/amazing-feature`) +7. Open a Pull Request + +## 📝 License + +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. + +## 🙏 Acknowledgments + +- Built with [Electron](https://www.electronjs.org/) +- UI powered by [Ant Design](https://ant.design/) +- Icons from [Lucide](https://lucide.dev/) +- Database management with [Prisma](https://www.prisma.io/) + +## 📧 Support + +- 📫 [GitHub Issues](https://github.com/curiouscoder-cmd/ENV_Storage/issues) +- 💬 [GitHub Discussions](https://github.com/curiouscoder-cmd/ENV_Storage/discussions) +- 📧 [Email](mailto:nitya@curiouscoder.live) + +## 🎃 Hacktoberfest + +This project participates in Hacktoberfest! Check out our [Hacktoberfest Guide](HACKTOBERFEST.md) for contribution ideas and guidelines. + +--- + +Made with ❤️ by the ENV Storage Manager team From dd5d0f28ae6cbb0ca665462d702e7758ec419067 Mon Sep 17 00:00:00 2001 From: Nitya Jain Date: Sun, 12 Oct 2025 01:44:36 +0530 Subject: [PATCH 2/2] Update README.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4a1be47..82f9153 100644 --- a/README.md +++ b/README.md @@ -170,7 +170,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file ## 🎃 Hacktoberfest -This project participates in Hacktoberfest! Check out our [Hacktoberfest Guide](HACKTOBERFEST.md) for contribution ideas and guidelines. +This project participates in Hacktoberfest! Check out the [official Hacktoberfest site](https://hacktoberfest.com/) for contribution ideas and guidelines. ---