Project Prism is a Portfolio Management Application designed to streamline the process of project and task management for portfolio managers. This web application provides a user-friendly interface for managing portfolio manager profiles, projects, tasks, and resources efficiently. It allows users to perform CRUD (Create, Read, Update, Delete) operations on these entities, manage relationships between them and provides advanced features such as pagination, filtering, and sorting.
- Frontend: HTML, CSS, JavaScript, React
- Backend: Python, Flask (RESTful API)
- Database: MySQL
- Clone the repository from GitHub:
git clone https://github.com/SakthivelMadhu/Portfolio_Management_Application.git
- Backend Setup:
- Navigate to the backend directory:
cd project_prism/backend
- Install Python dependencies from requirements.txt:
pip install -r requirements.txt
- Run the backend server:
python app.py
- Frontend Setup:
- Navigate to the frontend/portfolio-management-app directory:
cd project_prism/frontend/portfolio-management-app
- Install Node.js dependencies:
npm install
- Run the frontend React application:
npm start
- Access the application at http://localhost:3000/ in your web browser.
Add new portfolio managers with Name, Status, Role, Bio, and Start Date. View a list of existing portfolio managers.
Add new projects with Project Name, Status, Start Date, and End Date. View a list of existing projects associated with their respective portfolio managers.
Add new tasks with Task Name, Status, and associated Project ID. View a list of existing tasks associated with their respective projects.
Add new resources with Resource Name and associated Task ID. View a list of existing resources associated with their respective tasks.
Pagination: The Project listing page supports pagination to view projects in smaller chunks. Filtering: Projects can be filtered by the Status and Portfolio Manager. Sorting: Projects can be sorted by Status and Start Date.
If you encounter any issues during setup or usage, please follow these steps:
- Ensure the backend server (app.py) is running without errors.
- Check the browser's developer console for frontend errors.
- Verify that the frontend makes correct API requests to the backend.
- Double-check database connectivity and credentials.