Portfolio

๐Ÿš€ Modern Portfolio Application

![Portfolio Banner](https://via.placeholder.com/800x400/0a0a0b/00d4ff?text=Modern+Portfolio+App) [![React](https://img.shields.io/badge/React-19.0.0-61DAFB?style=for-the-badge&logo=react&logoColor=black)](https://reactjs.org/) [![FastAPI](https://img.shields.io/badge/FastAPI-0.110.1-009688?style=for-the-badge&logo=fastapi&logoColor=white)](https://fastapi.tiangolo.com/) [![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-3178C6?style=for-the-badge&logo=typescript&logoColor=white)](https://www.typescriptlang.org/) [![TailwindCSS](https://img.shields.io/badge/Tailwind-3.4.17-38B2AC?style=for-the-badge&logo=tailwind-css&logoColor=white)](https://tailwindcss.com/) [![MongoDB](https://img.shields.io/badge/MongoDB-4.5.0-47A248?style=for-the-badge&logo=mongodb&logoColor=white)](https://www.mongodb.com/) **A modern, responsive portfolio application built with cutting-edge technologies** [๐ŸŒŸ Live Demo](http://localhost:3001) | [๐Ÿ“– Documentation](#documentation) | [๐Ÿš€ Getting Started](#getting-started)

โœจ Features


Modern React
React 19 with hooks & functional components

FastAPI Backend
High-performance async Python API

Tailwind CSS
Utility-first styling framework

MongoDB
NoSQL database with async operations

Responsive Design
Mobile-first responsive layouts

Performance
Optimized for speed and SEO

๐ŸŽฏ Key Features


๐Ÿ› ๏ธ Tech Stack

Frontend

๐Ÿ“ฆ React 19.0.0          - Modern React with latest features
๐ŸŽจ Tailwind CSS 3.4.17   - Utility-first CSS framework
๐Ÿงฉ Radix UI              - Accessible component primitives
โœจ Framer Motion 12.23   - Smooth animations and transitions
๐Ÿ“ฑ React Router 7.5.1    - Client-side routing
๐ŸŽช Lucide React 0.507    - Beautiful icon library
๐Ÿ“Š Recharts              - Data visualization (if needed)
๐ŸŽฏ React Hook Form 7.56  - Form validation and handling

Backend

๐Ÿš€ FastAPI 0.110.1       - High-performance Python web framework
๐Ÿ Python 3.11+          - Modern Python with type hints
๐Ÿ—„๏ธ MongoDB 4.5.0         - NoSQL database
โšก Motor 3.3.1           - Async MongoDB driver
๐Ÿ” JWT & Passlib         - Authentication and security
๐Ÿ“ Pydantic 2.6.4        - Data validation with type safety
๐Ÿ”„ Uvicorn 0.25.0        - ASGI server for production

Development Tools

๐Ÿงช Pytest 8.0.0         - Testing framework
๐ŸŽฏ Black & isort         - Code formatting
๐Ÿ” MyPy                  - Static type checking
๐Ÿ“ ESLint & Prettier     - Frontend code quality
๐Ÿ”ง CRACO                 - Create React App configuration

๐Ÿš€ Getting Started

Prerequisites

Ensure you have the following installed:

๐Ÿ“ฅ Installation

  1. Clone the repository

    git clone https://github.com/MRSHAKILS/Portfolio.git
    cd Portfolio
    
  2. Backend Setup

    # Navigate to backend directory
    cd backend
    
    # Create virtual environment
    python -m venv .venv
    
    # Activate virtual environment
    # Windows:
    .venv\Scripts\activate
    # macOS/Linux:
    source .venv/bin/activate
    
    # Install dependencies
    pip install -r requirements.txt
    
  3. Frontend Setup

    # Navigate to frontend directory
    cd ../frontend
    
    # Install dependencies
    npm install --legacy-peer-deps
    
  4. Environment Configuration

    # Backend (.env)
    cp backend/.env.example backend/.env
    
    # Frontend (.env)
    cp frontend/.env.example frontend/.env
    

    Update the environment variables:

    # Backend .env
    MONGO_URL=mongodb://localhost:27017
    DB_NAME=portfolio_db
    JWT_SECRET=your-super-secret-jwt-key
    CORS_ORIGINS=http://localhost:3000,http://localhost:3001
    
    # Frontend .env
    REACT_APP_BACKEND_URL=http://localhost:8000
    

๐Ÿƒโ€โ™‚๏ธ Running the Application

  1. Start the Backend Server

    cd backend
    python -m uvicorn server:app --reload --host 0.0.0.0 --port 8000
    
  2. Start the Frontend Development Server

    cd frontend
    npm start
    
  3. Access the Application

    • Frontend: http://localhost:3000
    • Backend API: http://localhost:8000
    • API Documentation: http://localhost:8000/docs

๐Ÿ“ฑ Screenshots

### ๐Ÿ–ฅ๏ธ Desktop View ![Desktop View](https://via.placeholder.com/800x500/0a0a0b/00d4ff?text=Desktop+Portfolio+View) ### ๐Ÿ“ฑ Mobile View Mobile View ### ๐ŸŽจ Dark Theme ![Dark Theme](https://via.placeholder.com/800x400/1a1a1b/ffffff?text=Dark+Theme+Portfolio)

๐Ÿ—๏ธ Project Structure

๐Ÿ“ Portfolio/
โ”œโ”€โ”€ ๐Ÿ“ backend/                 # FastAPI backend
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ server.py           # Main FastAPI application
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ requirements.txt    # Python dependencies
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ .env                # Environment variables
โ”‚   โ””โ”€โ”€ ๐Ÿ“ __pycache__/        # Python cache files
โ”œโ”€โ”€ ๐Ÿ“ frontend/               # React frontend
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ public/             # Static files
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ src/                # Source code
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ components/     # React components
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ About.jsx   # About section
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ Hero.jsx    # Hero section
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ Projects.jsx # Projects showcase
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“ ui/         # Reusable UI components
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ data/           # Mock data
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ hooks/          # Custom React hooks
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“ lib/            # Utility functions
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ package.json        # Node.js dependencies
โ”‚   โ””โ”€โ”€ ๐Ÿ“„ tailwind.config.js  # Tailwind configuration
โ”œโ”€โ”€ ๐Ÿ“ tests/                  # Test files
โ”œโ”€โ”€ ๐Ÿ“„ README.md              # Project documentation
โ””โ”€โ”€ ๐Ÿ“„ .gitignore             # Git ignore rules

๐ŸŽจ Customization

๐ŸŽจ Theming

The portfolio uses CSS custom properties for easy theming:

:root {
  --color-bg-primary: #0a0a0b;
  --color-bg-secondary: #1a1a1b;
  --color-accent-primary: #00d4ff;
  --color-text-primary: #ffffff;
  /* ... more variables */
}

๐Ÿงฉ Components

All UI components are built with Radix UI and styled with Tailwind CSS:

// Example component usage
import { Button } from "@/components/ui/button";
import { Card } from "@/components/ui/card";

export function ProjectCard({ project }) {
  return (
    <Card className="bg-card hover:bg-accent transition-colors">
      <h3>{project.title}</h3>
      <Button variant="outline">View Project</Button>
    </Card>
  );
}

๐Ÿงช Testing

Backend Testing

cd backend
pytest tests/ -v

Frontend Testing

cd frontend
npm test

๐Ÿš€ Deployment

๐Ÿ“ฆ Build for Production

Frontend:

cd frontend
npm run build

Backend:

cd backend
pip install -r requirements.txt
python -m uvicorn server:app --host 0.0.0.0 --port 8000

๐ŸŒ Deployment Options


๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

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

๐Ÿ“„ License

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


๐Ÿ“ž Contact

MRSHAKILS - @MRSHAKILS

Project Link: https://github.com/MRSHAKILS/Portfolio


### ๐ŸŒŸ Show your support Give a โญ๏ธ if this project helped you! ![Made with โค๏ธ](https://img.shields.io/badge/Made%20with-โค๏ธ-red.svg) ![Powered by React](https://img.shields.io/badge/Powered%20by-React-61DAFB.svg) ![Built with FastAPI](https://img.shields.io/badge/Built%20with-FastAPI-009688.svg)