portfolio

Portfolio Pro

A modern, full-stack portfolio website built with React and Node.js, featuring a dynamic admin dashboard for content management.

🚀 Features

🛠️ Tech Stack

Frontend

Backend

Deployment

📁 Project Structure

portfolio-pro/
├── frontend/                 # React frontend application
│   ├── src/
│   │   ├── components/      # Reusable React components
│   │   ├── pages/          # Page components
│   │   ├── layouts/        # Layout components
│   │   ├── services/       # API service functions
│   │   └── assets/         # Static assets
│   ├── public/             # Public assets
│   └── package.json        # Frontend dependencies
├── backend/                 # Node.js backend (Python version)
│   ├── main.py            # Main application file
│   ├── models.py          # Database models
│   ├── requirements.txt   # Python dependencies
│   └── database.db        # SQLite database
├── backend 2/              # Node.js backend (JavaScript version)
│   ├── index.js           # Main server file
│   ├── models/            # Database models
│   ├── routes/            # API routes
│   ├── controllers/       # Route controllers
│   ├── middleware/        # Custom middleware
│   └── package.json       # Backend dependencies
├── functions/              # Netlify Functions
│   └── api.js             # Serverless API handler
└── netlify.toml           # Netlify configuration

🚀 Getting Started

Prerequisites

Installation

  1. Clone the repository
    git clone https://github.com/ganeshxchoudhary/portfolio.git
    cd portfolio-pro
    
  2. Install Frontend Dependencies
    cd frontend
    npm install
    
  3. Install Backend Dependencies
    cd ../backend\ 2
    npm install
    
  4. Environment Setup Create a .env file in the backend directory:
    JWT_SECRET=your_jwt_secret_here
    PORT=3001
    

Development

  1. Start the Backend Server
    cd backend\ 2
    npm start
    
  2. Start the Frontend Development Server
    cd frontend
    npm run dev
    
  3. Access the Application
    • Frontend: http://localhost:5173
    • Backend API: http://localhost:3001

Building for Production

  1. Build Frontend
    cd frontend
    npm run build
    
  2. Preview Production Build
    npm run preview
    

📝 API Endpoints

Authentication

Content Management

Contact

🎨 Customization

Styling

Content

Assets

🚀 Deployment

Netlify Deployment

  1. Connect Repository
    • Link your GitHub repository to Netlify
    • Set build command: cd frontend && npm run build
    • Set publish directory: frontend/dist
  2. Environment Variables Set the following in Netlify dashboard:
    JWT_SECRET=your_production_jwt_secret
    
  3. Functions
    • Netlify Functions are automatically deployed from the functions/ directory
    • API endpoints will be available at /.netlify/functions/api

Manual Deployment

  1. Build the project
    cd frontend && npm run build
    
  2. Deploy the dist folder to your hosting provider

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

👤 Author

Ganesh Choudhary

🙏 Acknowledgments


⭐ Star this repository if you found it helpful!