/PutHub

This is portfolio management system for the managers to manage their all projects.

Primary LanguageTypeScript

PutHub

This is the portfolio management system for the managers to manage their all projects.

Features

  • Cross-platform
  • Responsive
  • CRUD
  • Roll-Based Access System
  • Login / Signup

Tech Stack

Framework: Vite

Frontend: React, typescript, CSS, HTML

Backend: Python, Flask

Folder Structure

PutHub/
├── my_env/
├── client/
│   ├── dist/
│   │   └── index.html
│   │
│   ├── public/
│   │
│   ├── src/
│   │   ├── api
│   │   ├── components
│   │   ├── pages
│   │   ├── Routes
│   │   ├── store
│   │   ├── styles
│   │   ├── utils
│   │   ├── App.tsx
│   │   └── index.tsx
│   │
│   ├── public
│   ├── .env
│   └── vite.config.js 
│
└── server
    ├── models
    │   ├── PortfolioManagerModel.py
    │   ├── ProjectModel.py
    │   ├── ResourceModel.py
    │   └── TaskModel.py
    │
    ├── routes
    │   ├── routes.porfolio_manager.py
    │   ├── routes.project.py
    │   ├── routes.resource.py
    │   └── routes.task.py
    │
    ├── migrations/
    ├── config.py
    ├── requirements.txt
    ├── app.py
    └── README.md

Run Locally

Clone the project

  git clone https://github.com/RAJKUMARSHRIVASH/PutHub.git

Go to the project directory

  cd PutHub

Install dependencies

  pip freeze > requirements.txt
pip install --upgrade pip
pip install -r requirements.txt

How to Set Up a Virtual Environment in Python

Here are the steps to create a virtual environment in Python:

  1. Install the virtualenv package:
pip install virtualenv
  1. Navigate to your project directory and create a virtual environment. Here,my_env is the name of the virtual environment.
cd my_project/ virtualenv my_env
  1. Now, you have to activate the virtual environment. On macOS and Linux, you can do this:
source my_env/bin/activate

On Windows:

my_env\Scripts\activate
  1. After the activation, your terminal prompt will change to show the name of the activated environment.

Now, you can install packages into this isolated environment. For example:

pip install flask

This will install Flask in the my_env environment, not in your global Python environment. All Python commands like python, pip, etc., used in this environment will only apply to my_env.

  1. When you're done with your work, you can deactivate the environment to return to your global Python environment:
deactivate

Environment Variables

To run this project, you will need to add the following environment variables to your .env file

MONGOURL

JWTSECRETKEY

PORT

Start the server

  python app.py

Open the app on a browser locally

http://localhost:8080/

API Reference

Welcome

POST | GET | PATCH | DELETE

  POST /signup
  POST /login
  GET /portfolio-managers
  GET /portfolio-managers/<string:id>
  PATCH /portfolio-managers/<string:id>
  DELETE /portfolio-managers/<string:id>
  POST /projects
  GET /projects
  GET /projects/<string:id>
  PATCH /projects/<string:id>
  DELETE /projects/<string:id>
  POST /resources
  GET /resources
  GET /resources/<string:id>
  PATCH /resources/<string:id>
  DELETE /resources/<string:id>
  POST /tasks
  GET /tasks
  GET /tasks/<string:id>
  PATCH /tasks/<string:id>
  DELETE /tasks/<string:id>

Demo

Static / Frontend

https://puthub.onrender.com/

Backend

https://puthub-backend-api-flask.onrender.com

Screenshots

App Screenshot

System Architecture

SD image

ER diagram

ER

Author

Attribution :-

Special Thanks to -

  • flaticon.com
  • freepik.com
  • imagur.com
  • MongoDB Atlas

Thanks for visiting 👍