Skip to content

SaadRasheed-exe/Web-Application-to-Assist-IVR-Data-Collection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IVR Data Collection Web Application

This project is a web-based application designed for efficient collection and management of IVR (Interactive Voice Response) flow data. The application is developed using a Flask backend, MongoDB for database management, and a frontend built with HTML, Bootstrap, and JavaScript. It enables data collectors to input and manage IVR prompts and actions, which are then used by a dialing agent to interact with various insurance companies' IVR systems.

Table of Contents

Features

  • User-friendly interface for collecting and managing IVR data
  • Role-based access control (Admin and Data Collector roles)
  • Real-time form validation and dynamic data submission using AJAX
  • Search and filter functionality for easy access to collected data
  • Secure authentication and session management
  • Data stored in MongoDB with encrypted communication over SSL/TLS

System Requirements

To run this project, ensure your system meets the following requirements:

  • Python 3.7 or later
  • MongoDB 4.4 or later
  • Node.js and npm (for any additional frontend dependencies)
  • Git (to clone the repository)

Installation

1. Clone the Repository

git clone https://github.com/yourusername/ivr-data-collection.git
cd ivr-data-collection

2. Set Up a Virtual Environment

It's recommended to create a virtual environment for the project dependencies.

To create and activate a virtual environment, follow these steps:

On macOS/Linux:

python3 -m venv venv
source venv/bin/activate

On Windows:

python -m venv venv
venv\Scripts\activate

3. Install the Required Packages

pip install -r requirements.txt

4. Set Up the Environment Variables

Create a .env file in the root directory and add the following environment variables:

FLASK_APP=app.py
FLASK_ENV=development
SECRET_KEY=your_secret_key
MONGO_URI=mongodb://localhost:27017/CureDial

Make sure to replace your SECRET_KEY with a secure key and MONGO_URI with your MongoDB connection URI.

5. Initialize Database

Once MongoDB is running, the application will automatically create the necessary collections upon first run. You do not need to pre-configure the database schema since MongoDB is schema-less.

Running the Application

1. Start the MongoDB Server

Start the MongoDB server by running the following command:

mongod

2. Run the Application

To run the application, execute the following command:

flask run

By default, the application will be accessible at http://127.0.0.1:5000/.

3. Access the Application

Open your web browser and navigate to http://127.0.0.1:5000/. You can now begin using the IVR Data Collection web application.

Usage

Once the application is running:

- Data Collectors can log in and start entering IVR data, including the prompts and actions that the dialing agent needs to perform.

- Administrators can manage users, review collected data, and have access to additional system settings.

Folder Structure

The project directory is structured as follows:

root/                         # Project's root directory
├── app.py                    # Main application entry point
├── README.md                 # Project documentation
├── requirements.txt          # Dependencies list
├── app/                      # Application core
│   ├── config.py             # App configuration
│   └── __init__.py           # Package initializer
│   ├── models/               # Database models
│   ├── routes/               # API routes
│   ├── services/             # Business logic/services
│   ├── static/               # Static assets
│   │   ├── css/              # Stylesheets
│   │   ├── images/           # Image files
│   │   ├── js/               # JavaScript files
│   │   └── jsons/            # JSON data files
│   ├── templates/            # HTML templates
│   └── utils/                # Utility/helper functions

Future Improvements

Some potential improvements for the application include:

  • Adding more user roles and permissions
  • Implementing additional data validation and error handling
  • Enhancing the search and filter functionality
  • Integrating automated testing for the application

Contributing

Contributions to this project are welcome. To contribute, follow these steps:

  1. Fork the repository
  2. Create a new branch (git checkout -b feature-branch)
  3. Make your changes
  4. Commit your changes (git commit -am 'Add new feature')
  5. Push to the branch (git push origin feature-branch)
  6. Create a new Pull Request

License

This project is licensed under the MIT License. See the LICENSE file for more details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published