This is a full-stack portfolio website that showcases 3D models with React, Three.js, Node.js, Express.js, and MongoDB. It features a responsive design using Tailwind CSS and integrates Continuous Integration and Continuous Deployment (CI/CD) via GitHub Actions. The app displays an interactive 3D model that users can view and interact with directly in the browser.
Frontend:
Backend:
CI/CD:
Make sure you have Node.js and npm installed on your machine. If not, you can download and install them from here.
Clone the project to your local machine:
git clone https://github.com/your-username/3d-portfolio.git
cd 3d-portfolio
Navigate to the client
folder and install the frontend dependencies:
cd client
npm install
Navigate to the server
folder and install the backend dependencies:
cd server
npm install
For the backend, create a .env
file in the server
directory with your MongoDB connection string (if you're using MongoDB):
MONGO_URI=your_mongodb_connection_string_here
In the client
directory, run the following command to start the React frontend:
npm start
In the server
directory, run the following command to start the backend:
npm start
This will start both the client and server, and you can access your portfolio website on http://localhost:3000.
This application uses GitHub Actions for CI/CD. When you push to the main
branch, it will automatically deploy the frontend to Vercel and set up any backend integrations.
To deploy manually (optional), make sure you have Vercel and GitHub Actions properly set up to deploy both the frontend and backend.
.glb
format from websites like Sketchfab, Poly Haven, or TurboSquid.client/public/models/
directory.client/src/components/3DModel.js
file if needed:const modelPath = "/models/yourModel.glb";