How to Use ChatVault: A Comprehensive Guide

Mar 8, 2023 | Programming

Welcome to ChatVault, the innovative Kotlin Spring Boot application tailored for storing backups of your WhatsApp conversations. Whether you’re importing from multiple sources like API, email, or monitoring directories, ChatVault makes accessing your chats as breezy as sending a text. Let’s dive into how you can efficiently set up and use this application.

Key Features of ChatVault

  • Directory Importing: Easily import exported WhatsApp files by placing them in designated directories.
  • Automated Email Backup: Send your chats as email attachments, and ChatVault will automatically archive them.
  • Intuitive Frontend: Enjoy a user-friendly interface to effortlessly navigate conversations, search messages, and view attachments.

How to Export and Import WhatsApp Chats

To back up your WhatsApp conversations, follow these steps:

  1. Read the official WhatsApp FAQ for detailed instructions.
  2. Once you have the exported file, choose one of the following methods to import it to ChatVault:
    • Map a shared folder between your mobile device and ChatVault’s import directory.
    • Email the chat file for automatic import into ChatVault.
    • Zip the exported file and upload it through the ChatVault interface.

Repository Structure

Understanding how the repository is structured is essential when working with ChatVault. It consists of two primary modules:

  • Frontend: Built with JavaScript, Vue, and Nuxt, this module takes care of what users will see in the browser.
  • Backend: Developed with Kotlin, Java, Spring Boot, and Gradle, this module manages the application’s data and logistics.

Running ChatVault

To get ChatVault up and running, undertake the following:

Run Frontend Module

The frontend is a VueNuxt application. To run it using npm commands:

npm run dev

The frontend will typically listen on port 3000 unless the backend has already been started, in which case it will pick another available port.

Run Backend Module

To start the backend application independently:

./gradlew run

The backend listens to port 8080 by default.

Using Docker

If you prefer using Docker, ensure you authenticate to the GitHub Container Registry (steps can be found here). To create a database and build your project locally, run:

docker-compose -f compose.yml

To download the latest Docker image, execute:

docker pull ghcr.io/vitormarcal/chatvault:latest

Environment Variables

For Docker deployment, setting environment variables is crucial. Remember, variables should be in uppercase. Here’s a quick rundown:

Environment Variable Requirement Example
spring.datasource.url Required jdbc:postgresql://database_host:5432/database_name
chatvault.email.host Required to use email import feature imap.server.com
chatvault.msgparser.dateformat Not required, but recommended ddMMyyyy HH:mm

Note: If you don’t define chatvault.msgparser.dateformat, the application may struggle to resolve some ambiguities.

Troubleshooting Tips

If you encounter any issues while getting ChatVault up and running, consider the following troubleshooting steps:

  • Ensure that your environment variables are correctly set up and follow the required format.
  • Check that your ports (3000 for frontend and 8080 for backend) are not being used by other applications.
  • If issues persist with Docker, verify your authentication status with the GitHub Container Registry.
  • If you’ve followed all these steps and still face problems, consult the ChatVault project’s GitHub repository for community support.

For more insights, updates, or to collaborate on AI development projects, stay connected with [fxis.ai](https://fxis.ai/edu).

Conclusion

At [fxis.ai](https://fxis.ai/edu), we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox