Kinvault is a Flutter application designed to securely store and share your precious family photos and memories. Built with a focus on privacy and ease of use, Kinvault provides a centralized location for your digital photo album, accessible only to those you trust. It leverages PocketBase for backend functionality, offering a streamlined and scalable solution.
- Secure Photo Storage: Utilizes PocketBase for secure storage of your photos.
- User Authentication: Robust authentication system to protect your memories.
- Easy Upload: Upload photos directly from your device's gallery or camera.
- Photo Listing: View all uploaded photos in a clean and organized list.
- Caching: Uses
cached_network_imagefor faster loading and reduced bandwidth usage. - .env Configuration: Uses
.envfiles to manage sensitive configuration details like your PocketBase server URL safely and separately from the codebase. - Riverpod State Management: Predictable state management for a smooth user experience.
- GoRouter Navigation: Declarative and type-safe navigation.
-
Clone the Repository:
git clone https://github.com/hariiiiiiiii/kinvault.git cd kinvault/app -
Install Dependencies:
flutter pub get
-
Configure PocketBase:
-
You'll need a running instance of PocketBase. You can download and run it locally or use a hosted service.
-
Create a new PocketBase app.
-
Ensure that the
apisettings are correct, and you've enabled CORS if needed. -
Create a
.envfile in theappdirectory and add your PocketBase server IP address:SERVER_IP=your_pocketbase_ip_addressReplace
your_pocketbase_ip_addresswith the actual IP address or domain name of your PocketBase server.
-
-
Run the Application:
flutter run
- Launch the App: Run the Flutter application on your desired device or emulator.
- Login/Register: Use the login screen to access your Kinvault account. If you don't have one, create a new account from pocketbase superuser dashboard at
http://127.0.0.1:8090/_/. - Upload Photos: Navigate to the home screen and use the upload button to select photos from your device.
- View Photos: Uploaded photos will be displayed in a list on the home screen.
We welcome contributions to Kinvault! Here's how you can get involved:
- Fork the Repository: Create a fork of this repository on GitHub.
- Create a Branch: Create a new branch for your feature or bug fix.
- Make Changes: Implement your changes and ensure they are well-documented.
- Submit a Pull Request: Submit a pull request to the main branch, describing your changes in detail.
Please follow these guidelines:
- Code Style: Adhere to the Flutter style guide.
- Testing: Include unit tests for your changes.
- Documentation: Update the documentation as needed.
Kinvault is licensed under the MIT License. See the LICENSE file for more information.
If you find Kinvault useful or appreciate the effort put into this project, please consider giving it a star on GitHub! It helps us reach a wider audience and encourages further development.
This project is licensed under the MIT License.
GitHub Repo: https://github.com/hariiiiiiiii/kinvault