![]() 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 |
๐ฆ 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
๐ 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
๐งช Pytest 8.0.0 - Testing framework
๐ฏ Black & isort - Code formatting
๐ MyPy - Static type checking
๐ ESLint & Prettier - Frontend code quality
๐ง CRACO - Create React App configuration
Ensure you have the following installed:
Clone the repository
git clone https://github.com/MRSHAKILS/Portfolio.git
cd Portfolio
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
Frontend Setup
# Navigate to frontend directory
cd ../frontend
# Install dependencies
npm install --legacy-peer-deps
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
Start the Backend Server
cd backend
python -m uvicorn server:app --reload --host 0.0.0.0 --port 8000
Start the Frontend Development Server
cd frontend
npm start
Access the Application
๐ 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
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 */
}
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>
);
}
cd backend
pytest tests/ -v
cd frontend
npm test
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
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)This project is licensed under the MIT License - see the LICENSE file for details.
MRSHAKILS - @MRSHAKILS
Project Link: https://github.com/MRSHAKILS/Portfolio