A modern, responsive portfolio web application built with React and Vite on the frontend, and Node.js/Express on the backend. Showcase your projects, skills, and experience with a sleek, interactive interface.
- Responsive Design - Mobile-first approach with beautiful UI
- Dark/Light Theme Toggle - Customizable theme switching
- Smooth Animations - Scroll-triggered animations for engaging experience
- Authentication - Secure login and signup functionality
- Dynamic Sections
- Hero Section - Eye-catching introduction
- About Section - Personal background and experience
- Projects Section - Display portfolio projects with cards
- Skills Section - Showcase technical skills
- Contact Section - Get in touch functionality
- Project Showcase - Detailed project cards with descriptions
- Star Background - Animated background effect
- React 18 - UI library
- Vite - Modern build tool
- Redux Toolkit - State management
- React Router - Client-side routing
- CSS3 - Modern styling with animations
- ESLint - Code quality
- Node.js (v14 or higher)
- npm or yarn
cd Frontend
npm installnpm run devThe application will be available at http://localhost:5173
npm run buildsrc/
├── app/ # Main app configuration
│ ├── App.jsx # Root component
│ ├── app.routes.jsx # Route definitions
│ ├── app.store.js # Redux store
│ └── useScrollAnimations.js
├── features/ # Feature modules
│ ├── auth/ # Authentication module
│ ├── home/ # Home page module
│ └── shared/ # Shared components & utilities
├── main.jsx # Entry point
└── index.css # Global styles
npm run dev- Start development servernpm run build- Build for productionnpm run lint- Run ESLintnpm run preview- Preview production build
The application uses JWT (JSON Web Tokens) for secure authentication. Users can:
- Create an account via signup
- Login with credentials
- Maintain session with secure tokens
- Protected routes for authenticated users
Users can:
- Send contact messages through the Contact Section
- Messages are stored in the database
- Admin can view and manage messages
- Navigate to the Projects Section
- Use the admin interface to add new projects
- Upload project images and descriptions
- Use the admin Skills management
- Add, edit, or delete skills
- Organize by categories
- Change port in
.envor backend config - Kill the process using the port
- Verify MongoDB is running
- Check connection string in
.env - Ensure database credentials are correct
- Verify backend CORS configuration
- Check frontend API base URL
This project is open source and available under the MIT License.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.