/contactify-backend

One stop solution to create VCF file from data

Primary LanguagePythonMIT LicenseMIT

Codechef-VIT

Contactify


The Contact File Service offers a seamless solution for users to upload contact information in various formats (CSV, XLSX, XLS, ODS or JSON). Upon submission, the backend processes this data, extracting details such as names, phone numbers, emails, and genders. It compiles this information into a Virtual Contact File (VCF file) compatible with Android and iOS devices, simplifying contact management.

🌐 Deploy

https://contactify.codechefvit.com/

⚙️ Tech Stack:

  • Flask
  • Docker

🏁 Get Started

Follow these steps to set up and run the Contact File Backend Service locally:

  1. Local Installation

    1. Clone the Repository

      • Clone the repository.
        git clone https://github.com/CodeChefVIT/contactify-backend
      • Navigate to the cloned directory and run
        cd contactify-backend/backend
    2. Install Dependencies

      • Install all required dependencies for running the server on local machine
        pip3 install -r requirements.txt
    3. Configuration

      • Create a .env file in the root directory.
      • Define environment variables such as:
        • PORT=5000
    4. Start the Server

      • Start the backend service
        flask run
      • The service will be running on http://localhost:5000 by default.
  2. Docker Installation (Prerequisites : Docker)

    1. Clone the Repository

      • Clone the repository.
        git clone https://github.com/CodeChefVIT/contactify-backend
      • Navigate to the cloned directory and run
        cd contactify-backend/backend
    2. Configuration

      • Create a .env file in the current directory.
      • Define environment variables such as:
        • PORT=5000
    3. Build and Run Container

      • Create and run the container
        docker-compose up --build
      • The service will be running on http://localhost:5000.
  3. Frontend Installation

✨ Features

File Upload Prompt

  • Enables users to upload contact files in various formats (CSV, XLSX, XLS, ODS, JSON) effortlessly.

Automatic Header Extraction

  • Identifies and extracts headers from uploaded files to assist in contact data organization.

Header Mapping Interface

  • Provides a user-friendly interface for mapping extracted headers to predefined contact fields like first name, middle name, last name, gender, phone number, and email for accurate data categorization.

Custom Data Handling Options

  • Row Filtering: Allows skipping rows without a phone number or with insufficient phone number digits.
  • Data Validation: Offers options to set criteria for data inclusion, ensuring accuracy and completeness.

Contact File Generation Options

  • Unified VCF File: Generates a single VCF file containing all organized contact information.
  • Individual Contact Files: Provides flexibility to receive contacts as separate files bundled together in a convenient zip format.

API Documentation

https://documenter.getpostman.com/view/30463796/2s9Ye8euN8

📝 Checkout:

🚀 Contributors

profilepic

Shivam Gutgutia

GitHub LinkedIn

License

License

Made with ❤️ by CodeChef-VIT