This is a portfolio website built using the MERN stack (MongoDB, Express.js, React.js, Node.js). The project dynamically fetches project details from the backend.
- Dynamic project loading from backend
- User authentication with JWT
- Secure password storage with bcrypt
- RESTful API built with Express
- State management with Redux Toolkit
- Firebase integration
- Responsive design using Tailwind CSS
- Email notifications using EmailJS
- bcryptjs: ^2.4.3
- cookie-parser: ^1.4.6
- dotenv: ^16.4.5
- express: ^4.19.2
- jsonwebtoken: ^9.0.2
- mongoose: ^8.3.1
- nodemon: ^3.1.0
- slugify: ^1.6.6
- React: ^18.2.0
- React-DOM: ^18.2.0
- @reduxjs/toolkit: ^2.2.3
- react-redux: ^9.1.0
- react-router-dom: ^6.22.3
- redux-persist: ^6.0.0
- firebase: ^10.11.0
- flowbite-react: ^0.8.0
- react-fast-marquee: ^1.6.4
- react-icons: ^5.0.1
- react-multi-carousel: ^2.8.5
- Vite: ^5.2.0
- ESLint: ^8.57.0
- Tailwind CSS: ^3.4.3
- Autoprefixer: ^10.4.19
- PostCSS: ^8.4.38
Make sure you have the following installed:
- Node.js
- npm or yarn
- MongoDB
-
Clone the repository:
git clone https://github.com/ashishsigdel/Portfolio-ashish.git cd portfolio-website
-
Backend setup:
cd backend npm install
-
Frontend setup:
cd ../frontend npm install
-
Backend:
Create a
.env
file in thebackend
directory with the following environment variables:PORT=5000 MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret
-
Frontend:
Create a
.env
file in thefrontend
directory with the following environment variables:VITE_FIREBASE_API_KEY=your_firebase_api_key VITE_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain VITE_FIREBASE_PROJECT_ID=your_firebase_project_id VITE_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket VITE_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id VITE_FIREBASE_APP_ID=your_firebase_app_id
-
Start the backend server:
cd backend npm run dev
-
Start the frontend server:
cd frontend npm run dev
The backend server will run on http://localhost:5000
and the frontend server will run on http://localhost:3000
.
Contributions are welcome! Please fork the repository and use a feature branch. Pull requests are warmly welcome.
- Fork the repository
- Create a new branch:
git checkout -b my-feature-branch
- Make your changes and commit them:
git commit -m 'Add some feature'
- Push to the branch:
git push origin my-feature-branch
- Submit a pull request
This project is licensed under the MIT License. See the LICENSE file for details.
If you have any questions, feel free to reach out at [email protected].