JGVR / PortfolioApi

0 stars 0 forks source link

PortfolioApi

PortfolioAPI is a RESTful service designed to seamlessly integrate with MongoDB, enabling efficient CRUD operations across various collections. It serves as the backbone for user interfaces that display comprehensive portfolio information, including work experiences and projects, tailored for individuals looking to showcase their professional journey. Unique to our API is the integration of a sophisticated Chatbot, powered by OpenAI's latest GPT-4o model, which acts as a personal assistant, enriching user interaction with instant, intelligent responses to inquiries. Developed with django, pymongo, django channels, djnagorestframework, pydantic, langchain, this API offers an unparalleled blend of functionality and user engagement.

Getting Started

Prerequisites

Installation

Run the following commands to install the appropriate packages:

Data Design

This section provides a detailed overview of the data design, including the database schema, entity relationships, and security measures implemented to protect the data.

Overview

The Portfolio API utilizes two main types of databases to store and manage data efficiently: MongoDB Atlas, a NoSQL database for storing portfolio information, and Pinecone Vector Database, a specialized database for managing vector data to enhance chatbot functionalities.

Diagrams

Model Data Classes UML

Data Classes drawio (1)

Collection Classes UML

Collection Classes - UML drawio (2)

ChatBot Classes UML

ChatBot (1)

Entities

Users

Projects

Experience

Achievements

Chatbot

Data Security

Deployment Strategy