Skip to content

Commit a15de5e

Browse files
committed
2 parents bd0c331 + 9791c8d commit a15de5e

20 files changed

Lines changed: 1709 additions & 81 deletions

File tree

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear and concise description of what the bug is.
12+
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
19+
20+
**Expected behavior**
21+
A clear and concise description of what you expected to happen.
22+
23+
**Screenshots**
24+
If applicable, add screenshots to help explain your problem.
25+
26+
**Desktop (please complete the following information):**
27+
- OS: [e.g. iOS]
28+
- Browser [e.g. chrome, safari]
29+
- Version [e.g. 22]
30+
31+
**Smartphone (please complete the following information):**
32+
- Device: [e.g. iPhone6]
33+
- OS: [e.g. iOS8.1]
34+
- Browser [e.g. stock browser, safari]
35+
- Version [e.g. 22]
36+
37+
**Additional context**
38+
Add any other context about the problem here.

.github/ISSUE_TEMPLATE/custom.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
name: Custom issue template
3+
about: Describe this issue template's purpose here.
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.**
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
15+
16+
**Describe alternatives you've considered**
17+
A clear and concise description of any alternative solutions or features you've considered.
18+
19+
**Additional context**
20+
Add any other context or screenshots about the feature request here.

.github/workflows/deploy.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Deploy to GitHub Pages
2+
3+
on:
4+
push:
5+
branches:
6+
- main # veya master, hangi branch kullanıyorsanız
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: read
11+
pages: write
12+
id-token: write
13+
14+
concurrency:
15+
group: "pages"
16+
cancel-in-progress: false
17+
18+
jobs:
19+
build:
20+
runs-on: ubuntu-latest
21+
steps:
22+
- name: Checkout
23+
uses: actions/checkout@v4
24+
25+
- name: Setup Node
26+
uses: actions/setup-node@v4
27+
with:
28+
node-version: '20'
29+
cache: 'npm'
30+
31+
- name: Install dependencies
32+
run: npm ci
33+
34+
- name: Build
35+
run: npm run build
36+
37+
- name: Setup Pages
38+
uses: actions/configure-pages@v4
39+
40+
- name: Upload artifact
41+
uses: actions/upload-pages-artifact@v3
42+
with:
43+
path: './dist'
44+
45+
deploy:
46+
environment:
47+
name: github-pages
48+
url: ${{ steps.deployment.outputs.page_url }}
49+
runs-on: ubuntu-latest
50+
needs: build
51+
steps:
52+
- name: Deploy to GitHub Pages
53+
id: deployment
54+
uses: actions/deploy-pages@v4

README.md

Lines changed: 64 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,76 @@
1-
# React + TypeScript + Vite
1+
# DevSpawnPoint - 3D Interactive Portfolio
22

3-
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
3+
[![Netlify Status](https://api.netlify.com/api/v1/badges/10a6a2f3-5ab6-4c18-bc1d-7111c2c644f3/deploy-status)](https://app.netlify.com/projects/developerspawnpoint/deploys)
44

5-
Currently, two official plugins are available:
5+
## About the Project
66

7-
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh
8-
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
7+
DevSpawnPoint is an interactive 3D developer workspace (spawn point) portfolio built with modern web technologies. Visitors can navigate through a realistic 3D room, interact with items on the desk, and discover my projects, social media profiles, and skills in an immersive environment.
98

10-
## React Compiler
9+
## Screenshots
1110

12-
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).
11+
![Screenshot 1](screenshots/screenshot-1.png)
12+
*Interactive 3D workspace environment*
1313

14-
## Expanding the ESLint configuration
14+
![Screenshot 2](screenshots/screenshot-2.png)
15+
*Night mode with ambient lighting*
1516

16-
If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
17+
## Tech Stack
1718

18-
```js
19-
export default defineConfig([
20-
globalIgnores(['dist']),
21-
{
22-
files: ['**/*.{ts,tsx}'],
23-
extends: [
24-
// Other configs...
19+
This project is optimized using the latest web technologies and 3D graphics libraries:
2520

26-
// Remove tseslint.configs.recommended and replace with this
27-
tseslint.configs.recommendedTypeChecked,
28-
// Alternatively, use this for stricter rules
29-
tseslint.configs.strictTypeChecked,
30-
// Optionally, add this for stylistic rules
31-
tseslint.configs.stylisticTypeChecked,
21+
- **Core:** [React 19](https://react.dev/) & [TypeScript](https://www.typescriptlang.org/)
22+
- **3D Engine:** [Three.js](https://threejs.org/)
23+
- **React Bridge:** [@react-three/fiber](https://docs.pmnd.rs/react-three-fiber)
24+
- **3D Utilities:** [@react-three/drei](https://github.com/pmnd.rs/drei)
25+
- **Styling:** [Tailwind CSS 4](https://tailwindcss.com/)
26+
- **Animations:** [Framer Motion](https://www.framer.com/motion/)
27+
- **AI Integration:** [Google Generative AI (Gemini)](https://ai.google.dev/)
28+
- **Build Tool:** [Vite](https://vitejs.dev/)
29+
- **Post-processing:** Bloom and Vignette effects via `@react-three/postprocessing`
3230

33-
// Other configs...
34-
],
35-
languageOptions: {
36-
parserOptions: {
37-
project: ['./tsconfig.node.json', './tsconfig.app.json'],
38-
tsconfigRootDir: import.meta.dirname,
39-
},
40-
// other options...
41-
},
42-
},
43-
])
44-
```
31+
## Key Features
32+
33+
- **Interactive 3D Environment:** 360-degree room exploration with zoom and pan capabilities.
34+
- **Dynamic Screens:** Desktop monitors feature dynamic digital displays showcasing projects and tech stacks.
35+
- **Matrix Effect:** Custom shader-based Matrix rain effect on specific terminal screens.
36+
- **Performance Optimization:** Seamless experience with `frameloop="demand"` and optimized DPR settings.
37+
- **Music & Audio:** Immersive ambient music managed through a central `MusicContext`.
38+
- **Gemini AI:** Artificial intelligence integration for smart content management and interactions.
39+
40+
## Project Structure
4541

46-
You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
47-
48-
```js
49-
// eslint.config.js
50-
import reactX from 'eslint-plugin-react-x'
51-
import reactDom from 'eslint-plugin-react-dom'
52-
53-
export default defineConfig([
54-
globalIgnores(['dist']),
55-
{
56-
files: ['**/*.{ts,tsx}'],
57-
extends: [
58-
// Other configs...
59-
// Enable lint rules for React
60-
reactX.configs['recommended-typescript'],
61-
// Enable lint rules for React DOM
62-
reactDom.configs.recommended,
63-
],
64-
languageOptions: {
65-
parserOptions: {
66-
project: ['./tsconfig.node.json', './tsconfig.app.json'],
67-
tsconfigRootDir: import.meta.dirname,
68-
},
69-
// other options...
70-
},
71-
},
72-
])
42+
```bash
43+
src/
44+
├── components/
45+
│ ├── canvas/ # 3D Models and Scene components (Room, Desk, Monitor, etc.)
46+
│ ├── overlays/ # UI layers placed over the 3D scene
47+
│ └── ui/ # Menus, Loading screens, and Buttons
48+
├── context/ # Centralized state management for Overlays and Music
49+
├── constants/ # Project data and configurations
50+
├── assets/ # Static media files
51+
└── App.tsx # Main entry point and R3F Canvas configuration
7352
```
53+
54+
## Installation
55+
56+
To run the project locally:
57+
58+
1. Clone the repository:
59+
```bash
60+
git clone https://github.com/sametuca/DevSpawnPoint-Porfolio.git
61+
```
62+
2. Install dependencies:
63+
```bash
64+
npm install
65+
```
66+
3. Start the development server:
67+
```bash
68+
npm run dev
69+
```
70+
71+
## Models & Assets
72+
73+
The 3D models used in the project are located in the `public/models` directory. All models are in GLTF/GLB format and optimized for web performance. The scene consists of a desk, gaming chair, monitors, decorative items, and custom lighting setups.
74+
75+
---
76+
*Developed by: [Samet Uca](https://github.com/sametuca)*

public/.nojekyll

Whitespace-only changes.

public/_redirects

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/* /index.html 200

0 commit comments

Comments
 (0)