Portfolio Manager Engine

Visit Project
Portfolio Manager Engine
Python Flask Firebase Portfolio

✨ Features

 

📡 API Usage

 

The Portfolio Manager provides a robust set of JSON endpoints for external frontends.

 

🌎 Public Content

EndpointMethodDescription
/api/settingsGETWebsite branding, social URLs, and features
/api/seoGETSEO metadata and auto-generated JSON-LD
/api/blogGETList all published blog posts
/api/projectsGETList all projects and case studies
/api/experienceGETCareer timeline and work history
/api/downloadsGETSoftware/App download links across platforms
/api/sitemapGETDynamic sitemap structure for search engines

 

📈 Engagement & Interactions

EndpointMethodDescription
/api/contactPOSTSubmit contact form messages
/api/analyticsPOSTLog page views and visitor data
/api/blog/<permalink>/update_viewPOSTIncrement read count for a blog post
/api/projects/<permalink>/update_viewPOSTIncrement view count for a project
/api/downloads/<id>/hitPOSTTrack a file download click

 

🔐 System & Push

EndpointMethodDescription
/api/push/public-keyGETRetrieve the VAPID public key
/api/push/subscribePOSTRegister a service worker subscription
/api/healthGETBasic system health check

 

🛡️ Administrative (Protected)

EndpointMethodDescription
/api/notifications/newGETPoll for new unread messages
/api/notifications/dismiss/<id>DELETEPermanently delete a message
/api/upload-imagePOSTUpload media to ImgBB and get URL
/api/push/sendPOSTTrigger a push notification to all subscribers
/api/exportGETExport a full encrypted JSON backup
/api/restorePOSTRestore database from a backup file

 

🛠️ Tech Stack

 

 

🚀 Installation

 

1. Prerequisites

 

 

2. Setup

 

Clone the repository git clone https://github.com/TharukRenuja/Portfolio-Manager-Engine.git cd Portfolio-Manager-Engine # Install dependencies pip install -r requirements.txt # Run the application python main.py

 

3. Verification

 

 

4. Backup & Migration

 

The system supports full data portability. You can export your entire database from the Danger Zone and restore it during setup or via the API to move between projects instantly.