Skip to content

SatyaSP/consultation_platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Consultation Platform

This repository contains a consultation platform built with Django.

Getting Started

Follow these steps to get the project up and running on your local machine.

Prerequisites

  • Python 3.x
  • pip (Python package installer)

Installation

  1. Clone the repository
git clone https://github.com/Satyajit-pradhan-232/consultation_platform.git
cd consultation_platform
  1. Create a virtual environment
# For Windows
python -m venv venv

# For macOS/Linux
python3 -m venv venv
  1. Activate the virtual environment
# For Windows
venv\Scripts\activate

# For macOS/Linux
source venv/bin/activate
  1. Install dependencies
pip install -r requirements.txt
  1. Navigate to the project directory
cd consultation_platform
  1. Create environment variables file
# Create a .env file based on the example

# On Windows, use:
copy .env.example .env

# On macOS/Linux, use:
cp .env.example .env

# Edit the .env file and add your credentials
# Use your favorite text editor to modify the .env file
  1. Run the application with Daphne
daphne -p 8000 consultation_platfrom.asgi:application

Now the application should be running at http://localhost:8000.

Technologies Used

  • Django Rest Framework
  • Django Channels for WebSocket Support
  • Daphne for ASGI support
  • Redis
  • Postgres

Roadmap and Future Enhancements

The following section outlines planned features, bug fixes, and improvements for the project. Contributions and suggestions are welcome.

Immediate Priorities & Bug Fixes

  • Real-time Credit Tracking: Resolve the bug in the chat application where user credits are not tracked accurately in real-time during an active consultation.
  • Consultation Status Logic: Refactor the consultation lifecycle management. The status change to "ongoing" should trigger only when both the user and the provider successfully connect to the WebSocket chat. This will fix the current error state at the /consultations/{consultation_id}/end/ endpoint.
  • WebSocket Connection Management: Implement a security measure to automatically terminate WebSocket connections that remain open for an extended period without successful user authentication.

Feature Development

  • Ratings and Review System: Implement a new app to allow users to rate providers and leave feedback on completed consultations.
  • Custom Admin Dashboard: Develop an enhanced admin interface for platform management, providing more detailed insights and controls than the default Django admin.

Testing and Infrastructure

  • Package Manager Migration: Transition package management from pip to UV to leverage faster dependency resolution.
  • Containerization: Create Docker and Docker Compose configurations to containerize the application for easier setup and deployment.
  • API Test Coverage: Develop a comprehensive test suite with unit and integration tests for all major API endpoints to ensure stability and code quality.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages