{"id":18771724,"url":"https://github.com/puneetkakkar/secure-vault-server","last_synced_at":"2025-08-10T10:33:19.763Z","repository":{"id":223922370,"uuid":"759612554","full_name":"puneetkakkar/secure-vault-server","owner":"puneetkakkar","description":"It is a privacy-focused application designed to safeguard your passwords, documents, and other confidential information. It's built with end-to-end encryption, ensuring that only you have access to your data. We never have access to your passwords or sensitive information.","archived":false,"fork":false,"pushed_at":"2025-08-03T00:52:20.000Z","size":587,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-03T01:08:22.394Z","etag":null,"topics":["backend","password-manager","password-store","privacy-protection","secret-vault","springboot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/puneetkakkar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-02-19T01:48:01.000Z","updated_at":"2025-08-03T00:52:18.000Z","dependencies_parsed_at":"2024-03-03T23:33:53.497Z","dependency_job_id":"f0487570-d73d-4f48-a205-ea84e9308a78","html_url":"https://github.com/puneetkakkar/secure-vault-server","commit_stats":null,"previous_names":["puneetkakkar/secure-vault-server"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/puneetkakkar/secure-vault-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puneetkakkar%2Fsecure-vault-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puneetkakkar%2Fsecure-vault-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puneetkakkar%2Fsecure-vault-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puneetkakkar%2Fsecure-vault-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/puneetkakkar","download_url":"https://codeload.github.com/puneetkakkar/secure-vault-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puneetkakkar%2Fsecure-vault-server/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269711602,"owners_count":24463198,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","password-manager","password-store","privacy-protection","secret-vault","springboot"],"created_at":"2024-11-07T19:26:24.339Z","updated_at":"2025-08-10T10:33:19.741Z","avatar_url":"https://github.com/puneetkakkar.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./src/main/resources/static/images/secure-vault-logo-3x.png\" alt=\"secure vault brand\" width=\"400\"/\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eSECURE VAULT - THE ONLY KEY IS YOU\u003c/h1\u003e\n\n\u003cbr\u003e\n\n**Secure Vault** is a privacy-focused application designed to safeguard your passwords, documents, and other confidential information. It's built with end-to-end encryption, ensuring that only you have access to your data. We never have access to your passwords or sensitive information.\n\n## ⚗️ Key Features:\n\n- **End-to-End Encryption:** Your data is encrypted on your device and remains encrypted on our servers, ensuring only you can access it.\n- **Master Password Security:** Your master password is the only key to unlocking your vault.\n- **Secure Storage:** Keep all your valuable data safe and organized in one place.\n- **Secure Sharing:** Share your information securely with trusted individuals.\n\n## Why Choose Secure Vault?\n\n- **Ultimate Privacy:** Your data is your business. We don't have access to it.\n- **Peace of Mind:** Securely store and manage your most important information.\n- **Easy to Use:** A user-friendly interface makes it simple to manage your vault.\n- **Open Source:** We welcome community contributions to make Secure Vault even better.\n\n## Getting Started:\n\n### Prerequisites:\n\n- **Java Development Kit (JDK):** Ensure you have a compatible JDK installed (version 11 or higher).\n- **Maven:** Make sure you have Apache Maven installed.\n- **Docker and Docker Compose:** Required for running the application in containers.\n- **IDE:** You'll need an IDE of your choice (e.g., IntelliJ IDEA, Eclipse, VS Code) to work with the project.\n\n### Development Setup:\n\n#### Option 1: Local Development\n\n1. **Clone the repository:**\n\n   ```bash\n   git clone https://github.com/puneetkakkar/secure-vault-server\n   ```\n\n2. **Navigate to the project directory:**\n\n   ```bash\n   cd secure-vault-server\n   ```\n\n3. **Install dependencies:**\n\n   ```bash\n   mvn clean install\n   ```\n\n4. **Build the application:**\n\n   ```bash\n   mvn package\n   ```\n\n5. **Run the application:**\n   ```bash\n   mvn spring-boot:run\n   ```\n\nThe Secure Vault application will be accessible at http://localhost:8080 by default.\n\n#### Option 2: Docker Development Setup\n\n1. **Setup development environment:**\n\n   ```bash\n   make setup-dev\n   ```\n\n2. **Start the development containers:**\n\n   ```bash\n   make up\n   ```\n\n3. **Verify the services:**\n   ```bash\n   make ps\n   ```\n\nThe development stack includes:\n\n- Spring Boot Backend (port 8080)\n- MongoDB (port 27017)\n- Redis (port 6379)\n\n### Production Setup with Docker:\n\n1. **Setup production environment:**\n\n   ```bash\n   make setup-prod\n   ```\n\n2. **Start the production containers:**\n\n   ```bash\n   make up ENV=prod\n   ```\n\n3. **Verify the services:**\n   ```bash\n   make ps ENV=prod\n   ```\n\nThe production stack includes:\n\n- Spring Boot Backend (port 8080)\n- MongoDB (port 27018)\n- Redis Master (port 6382)\n- Redis Slaves (ports 6383, 6384)\n- Redis Sentinels (ports 26382, 26383, 26384)\n\n### Using Make Commands\n\nThe project includes a Makefile with various helpful commands. To see all available commands:\n\n```bash\nmake help\n```\n\nCommon commands:\n\n- `make up` - Start containers\n- `make down` - Stop containers\n- `make logs` - View container logs\n- `make ps` - List running containers\n- `make shell` - Open shell in backend container\n- `make mongo-shell` - Open MongoDB shell\n- `make redis-cli` - Open Redis CLI\n- `make test` - Run tests\n- `make lint` - Run code linting\n- `make clean` - Stop containers and remove volumes\n\nFor production environment, add `ENV=prod` to any command:\n\n```bash\nmake up ENV=prod\nmake logs ENV=prod\n```\n\n### Architecture:\n\nThe application uses a microservices architecture with:\n\n#### Development Environment:\n\n- **Spring Boot Backend:** Main application server\n- **MongoDB:** Primary database for data storage\n- **Redis:** Single instance for caching and session management\n\n#### Production Environment:\n\n- **Spring Boot Backend:** Main application server\n- **MongoDB:** Primary database for data storage\n- **Redis Cluster:**\n  - Master-Slave replication (1 master, 2 slaves)\n  - Sentinel-based high availability (3 sentinels)\n  - Automatic failover support\n\n### Environment Configuration:\n\nBoth development and production environments require proper configuration through environment variables. The main differences are:\n\n1. **Development (`compose.dev.yml`):**\n\n   - Single Redis instance\n   - Standard MongoDB port\n   - Development-specific Spring profiles\n   - Hot-reload enabled for development\n\n2. **Production (`compose.prod.yml`):**\n   - Redis cluster with master-slave replication\n   - Redis sentinel for high availability\n   - Custom MongoDB port\n   - Production-specific Spring profiles\n   - Optimized for performance and security\n\n## Contributing\n\nWe encourage you to contribute to Secure Vault's development!\n\n- **Report issues:** Find a bug or have a suggestion? Please submit an issue on GitHub.\n- **Submit pull requests:** Want to add a feature or fix a bug? Submit a pull request to our repository.\n- **Join the community:** Connect with other developers.\n\n**Before contributing:**\n\n- Please read our [Contributing Guidelines](CONTRIBUTING.md) for a detailed guide.\n- Ensure you have signed our Contributor License Agreement (CLA).\n\n## License\n\nThis project is licensed under the [License Name] License - see the [LICENSE](LICENSE) file for details.\n\n**Together, let's make Secure Vault the ultimate solution for protecting your digital secrets!**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpuneetkakkar%2Fsecure-vault-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpuneetkakkar%2Fsecure-vault-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpuneetkakkar%2Fsecure-vault-server/lists"}