On branch master

Changes to be committed:
	modified:   LICENSE
	modified:   README.md
	modified:   app/(root)/page.jsx
	modified:   app/about/components/about/about.jsx
	modified:   app/about/layout.jsx
	modified:   app/layout.jsx
	modified:   app/projects/(project-card)/index.jsx
	modified:   app/projects/components/ProjectCard.jsx
	modified:   app/projects/layout.jsx
	modified:   app/projects/page.jsx
	modified:   components/Footer.jsx
	modified:   components/Navbar.jsx
	modified:   generate-sitemap.js
	modified:   json/data.json
	modified:   package.json
	modified:   public/robots.txt
	modified:   public/sitemap2.xml
This commit is contained in:
parent e166fd3c7f
commit 4542735373
17 changed files with 71 additions and 78 deletions

View file

@ -1,4 +1,4 @@
Alvalens-porto-2-nextJs - A Next.js Portfolio Project
korobtsev-NextJS01 - A Next.js Portfolio Project
Copyright (C) 2025 Alvalen Bilyunazra <alvalen.shafel04@gmail.com>
GNU GENERAL PUBLIC LICENSE

View file

@ -1,6 +1,6 @@
# Мой личный сайт на основе Alvalens Porto 2
# Мой личный сайт на основе Korobtsev Porto 2
Проект построен на базе шаблона Alvalens Porto 2. Изменения будут перечислены в соответствующем разделе.
Проект построен на базе шаблона Korobtsev Porto 2. Изменения будут перечислены в соответствующем разделе.
## Фишки
@ -18,12 +18,12 @@
2. Склонируйте репозиторий:
```shell
git clone https://dev.gossys.dev/v.korobtsev/Alvalens-porto-2-nextJs.git
git clone https://dev.gossys.dev/v.korobtsev/korobtsev-NextJS01.git
```
3. Navigate to the project directory:
```shell
cd Alvalens-porto-2-nextJs
cd korobtsev-NextJS01
```
4. Install dependencies:

View file

@ -1,7 +1,3 @@
//Copyright (C) 2025 Alvalen Bilonazra
// //Этот файл является частью Alvalens-Porpo-2-nextjs.
//лицензировано под GNU GPL v3.0. Смотрите лицензию для деталей.
"use client";
import ReactFullpage from "@fullpage/react-fullpage";
import Image from "next/legacy/image";
@ -54,7 +50,7 @@ const MyPage = () => {
width={500}
height={500}
className="rounded-full w-full h-full object-cover "
alt="Alvalens"
alt="Korobtsev"
placeholder="blur"
/>
</div>
@ -67,7 +63,7 @@ const MyPage = () => {
delay: 0.2,
type: "spring",
}}>
Alvalen Shafel
Виталий Коробцев
</motion.h3>
<motion.h1
className="text-black text-5xl md:text-6xl lg:text-7xl 2xl:text-8xl font-bold my-2 md:my-5"
@ -77,7 +73,7 @@ const MyPage = () => {
delay: 0.3,
type: "spring",
}}>
Full Stack Developer
Разработчик, Инженер, Архитектор
</motion.h1>
<motion.p
className="title text-md 2xl:text-xl mt-4 tracking-wider text-gray-500 leading-[1.7rem]"
@ -87,11 +83,8 @@ const MyPage = () => {
delay: 0.4,
type: "spring",
}}>
Привет! Imans Alvalen, младший разработчик Fullstack, специализирующийся на
Современная веб -разработка с растущим акцентом на искусственном
Интеллект. Увлечен зданиями масштабируемых,
удобные веб-приложения и изучение технологий искусственного интеллекта
такие как генеративные модели и интеграция LLM.
Привет! Я Виталий Коробцев. Создатель "Гибридной Офисной Системы". Под моим руководством или с моим участием создано множество крупных проектов. На данном сайте я решил собрать некоторые из них и рассказать о себе и своих проектах - завершенных, текущих, планируемых.
</motion.p>
<motion.div
className="buttons flex flex-row justify-center items-center space-x-4 mt-10"
@ -129,7 +122,7 @@ const MyPage = () => {
width={400}
height={550}
placeholder="blur"
alt="Alvalens"
alt="Korobtsev"
className="rounded-full w-full h-full object-cover"
/>
</div>
@ -161,7 +154,7 @@ const MyPage = () => {
src={MeAbout}
layout="fill"
className="object-cover"
alt="Alvalens"
alt="Korobtsev"
placeholder="blur"
/>
</motion.div>
@ -227,7 +220,7 @@ const MyPage = () => {
src={ProjectAll}
layout="fill"
className="object-cover"
alt="Alvalens Setup"
alt="Korobtsev Setup"
placeholder="blur"
/>
</motion.div>
@ -297,7 +290,7 @@ const MyPage = () => {
src={Setup}
layout="fill"
className="object-cover"
alt="Alvalens Setup"
alt="Korobtsev Setup"
placeholder="blur"
/>
</motion.div>
@ -335,14 +328,14 @@ const MyPage = () => {
delay: 0.3,
type: "spring",
}}>
<a href="mailto:Alvalen.shafel04@gmail.com?subject=Hello&body=Hello Alvalens,">
<a href="mailto:Alvalen.shafel04@gmail.com?subject=Hello&body=Hello Korobtsev,">
alvalen.shafel04@gmail.com
</a>
</motion.p>
{/* icons */}
<div className="flex justify-center items-center space-x-4">
<motion.a
href="mailto:Alvalen.shafel04@gmail.com?subject=Hello&body=Hello Alvalens,"
href="mailto:Alvalen.shafel04@gmail.com?subject=Hello&body=Hello Korobtsev,"
className="flex justify-center items-center bg-gray-700 w-14 h-14 rounded-full text-gray-100 hover:bg-gray-400 transition-all ease-in-out duration-300"
initial={{ y: 40, opacity: 0 }}
whileInView={{ y: 0, opacity: 1 }}
@ -354,7 +347,7 @@ const MyPage = () => {
</motion.a>
<motion.a
href="https://github.com/Alvalens"
href="https://github.com/Korobtsev"
target="_blank"
rel="noopener noreferrer"
className="flex justify-center items-center bg-gray-700 w-14 h-14 rounded-full text-gray-100 hover:bg-gray-400 transition-all ease-in-out duration-300"
@ -367,7 +360,7 @@ const MyPage = () => {
<FontAwesomeIcon icon={faGithub} className="text-3xl" />
</motion.a>
<motion.a
href="https://www.instagram.com/alvalens_/"
href="https://www.instagram.com/Korobtsev_/"
target="_blank"
rel="noopener noreferrer"
className="flex justify-center items-center bg-gray-700 w-14 h-14 rounded-full text-gray-100 hover:bg-gray-400 transition-all ease-in-out duration-300"

View file

@ -35,7 +35,7 @@ export default function About() {
className="w-full h-full">
<Image
src={Me1}
alt="Alvalens"
alt="Korobtsev"
layout="fill"
objectFit="cover"
placeholder="blur"
@ -58,7 +58,7 @@ export default function About() {
className="w-full h-full">
<Image
src={Me2}
alt="Alvalens"
alt="Korobtsev"
layout="fill"
objectFit="cover"
placeholder="blur"
@ -83,7 +83,7 @@ export default function About() {
className="w-full h-full">
<Image
src={Me3}
alt="Alvalens"
alt="Korobtsev"
layout="fill"
objectFit="cover"
placeholder="blur"

View file

@ -1,7 +1,7 @@
import Footer from "@/components/Footer";
export const metadata = {
title: "Alvalens | About"
title: "Korobtsev | About"
};
export default function Layout({ children }) {
return (

View file

@ -9,17 +9,17 @@ import Chat from "@/components/Chat";
import ClientTopProgressBar from "@/components/ClientTopProgressBar";
export const metadata = {
title: "Alvalens | Portofolio",
title: "Korobtsev | Portofolio",
description:
"My name is Alvalens, I'm a web developer and I'm passionate about it. I'm currently studying at Universitas Negeri Malang.",
"My name is Korobtsev, I'm a web developer and I'm passionate about it. I'm currently studying at Universitas Negeri Malang.",
author: "Alvalen Shafelbilyunazra",
siteUrl: "https://www.alvalens.my.id",
applicationName: "Alvalens",
siteUrl: "https://www.korobtsev.ru",
applicationName: "Korobtsev",
keywords: [
"alvalens",
"Korobtsev",
"alvalen",
"alvalen shafel",
"shafel",
@ -32,19 +32,19 @@ export const metadata = {
openGraph: {
type: "website",
url: "https://www.alvalens.my.id",
title: "Alvalens | Portofolio",
site_name: "Alvalens | Portofolio",
description: "My name is Alvalens, This is my portofolio website.",
url: "https://www.korobtsev.ru",
title: "Korobtsev | Portofolio",
site_name: "Korobtsev | Portofolio",
description: "My name is Korobtsev, This is my portofolio website.",
width: 1200,
height: 630,
images: [
{
url: "/og-image-rev.png",
alt: "Alvalens Portofolio",
alt: "Korobtsev Portofolio",
},
],
site_name: "Alvalens | Portofolio",
site_name: "Korobtsev | Portofolio",
}
};

View file

@ -24,7 +24,7 @@ export default function ProjectCard({ project, index, activeCategory }) {
}}>
<Image
src={project.thumbnail}
alt="Alvalens"
alt="Korobtsev"
layout="fill"
objectFit="cover"
placeholder="blur"

View file

@ -24,7 +24,7 @@ export default function ProjectCard({ project, index, activeCategory }) {
}}>
<Image
src={project.thumbnail}
alt="Alvalens"
alt="Korobtsev"
layout="fill"
objectFit="cover"
placeholder="blur"

View file

@ -2,7 +2,7 @@
import Footer from "@/components/Footer";
export const metadata = {
title: "Alvalens | Projects"
title: "Korobtsev | Projects"
};
export default function Layout({ children }) {
return (

View file

@ -46,7 +46,7 @@ export default function Page() {
className="bg-slate-300 rounded-sm h-[400px] md:h-[600px] w-[80vw] md:w-[30vw] grayscale hover:grayscale-0 ">
<Image
src={ProjectAll}
alt="Alvalens"
alt="Korobtsev"
layout="fill"
objectFit="cover"
placeholder="blur"
@ -100,7 +100,7 @@ export default function Page() {
className="w-full h-full shadow-lg">
<Image
src={Intervyou1}
alt="Alvalens"
alt="Korobtsev"
layout="fill"
objectFit="cover"
placeholder="blur"
@ -124,7 +124,7 @@ export default function Page() {
className="w-full h-full shadow-lg ">
<Image
src={Intervyou3}
alt="Alvalens"
alt="Korobtsev"
layout="fill"
objectFit="cover"
placeholder="blur"
@ -150,7 +150,7 @@ export default function Page() {
className="w-full h-full shadow-lg">
<Image
src={Intervyou2}
alt="Alvalens"
alt="Korobtsev"
layout="fill"
objectFit="cover"
placeholder="blur"

View file

@ -49,7 +49,7 @@ export default function Footer() {
<footer className="flex justify-center items-center flex-col my-5 self-start]">
<p className="text-gray-800 text-sm">
&copy;{new Date().getFullYear()} -{" "}
<span className="text-gray-700 text-lg">Alvalens</span>
<span className="text-gray-700 text-lg">Korobtsev</span>
</p>
</footer>
</div>

View file

@ -200,7 +200,7 @@ const Navbar = () => {
className={`text-2xl ml-2 md:ml-0 transition-colors ease duration-500 ${
isNavOpen ? "text-white" : ""
}`}>
Alvalens
Korobtsev
</h1>
</div>
<div className="flex flex-row items-center">

View file

@ -5,7 +5,7 @@ const fs = require("fs");
async function generateSitemap() {
const sitemap = new SitemapStream({
hostname: "https://alvalens.my.id/",
hostname: "https://korobtsev.ru/",
});
// Add URLs to your sitemap

View file

@ -99,7 +99,7 @@
],
"year": "2024",
"preview": "",
"code": "https://github.com/Alvalens/web-javanese-translation",
"code": "https://github.com/Korobtsev/web-javanese-translation",
"thumbnail": "/image/projects/ai/javanese-translation/javanese-translation-thumbnail.jpg",
"images": [
"/image/projects/ai/javanese-translation/javanese-translation1.png",
@ -125,7 +125,7 @@
],
"year": "2024",
"preview": "",
"code": "https://github.com/Alvalens/heart-attack-prediction",
"code": "https://github.com/Korobtsev/heart-attack-prediction",
"thumbnail": "/image/projects/ai/heart-attack-prediction/heart-attack-prediction-thumbnail.jpg",
"images": [
"/image/projects/ai/heart-attack-prediction/heart-attack1.png",
@ -154,7 +154,7 @@
],
"year": "2024",
"preview": "https://generative-trivia.vercel.app/",
"code": "https://github.com/Alvalens/generative-trivia",
"code": "https://github.com/Korobtsev/generative-trivia",
"thumbnail": "/image/projects/web/trivia/trivia-thumbnail.png",
"images": [
"/image/projects/web/trivia/trivia1.png",
@ -234,8 +234,8 @@
"RandomZone is a feature that allows the player to get a random number of steps. The 3D dice is a feature that allows the player to roll a 3D dice. The game also has a few other features menuy screen and also loading screen.", "Beside that the game also has a audio theme that will play when the game is started. The game also has a few sound effects such as dice roll sound, and a sound when the player win the game."
],
"year": "2023",
"preview": "https://github.com/Alvalens/ludo-game/releases/tag/pre-release",
"code": "https://github.com/Alvalens/ludo-game",
"preview": "https://github.com/Korobtsev/ludo-game/releases/tag/pre-release",
"code": "https://github.com/Korobtsev/ludo-game",
"thumbnail": "/image/projects/other/LUDOang/ludo-thumbnail.png",
"images": [
"/image/projects/other/LUDOang/ludo1.png",
@ -281,7 +281,7 @@
],
"year": "2023",
"preview": "https://react-chat-rouge.vercel.app",
"code": "https://github.com/Alvalens/react-realtime-chat",
"code": "https://github.com/Korobtsev/react-realtime-chat",
"thumbnail": "/image/projects/web/react-chat/chat-thumbnail.png",
"images": [
"/image/projects/web/react-chat/chat1.png",
@ -311,7 +311,7 @@
],
"year": "2023",
"preview": "https://react-tools-flax.vercel.app",
"code": "https://github.com/Alvalens/react-tools",
"code": "https://github.com/Korobtsev/react-tools",
"thumbnail": "/image/projects/web/tools/tools-thumbnail.png",
"images": [
"/image/projects/web/tools/tools.png",
@ -335,7 +335,7 @@
"Aleph is a Discord bot that I created for my dircord server to use. The bot is built using Python and the discord.py library. The bot has image grabber feauture that takes argument (keywords) and returns an image from the internet.", "Other than that this bot has a few other features such as utility command to delete a messages, and a command to get the server's ping. This bot is still in development and I plan to add more features in the future."],
"year": "2023",
"preview": "",
"code": "https://github.com/Alvalens/aleph-discord-bot",
"code": "https://github.com/Korobtsev/aleph-discord-bot",
"thumbnail": "/image/projects/other/bot/bot-thumbnail.png",
"images": [
"/image/projects/other/bot/bot1.png",

View file

@ -3,7 +3,7 @@
"author": {
"name": "Alvalen Shafelbilyunazra",
"email": "alvalen.shafel04@gmail.com",
"url": "https://alvalens.my.id"
"url": "https://korobtsev.ru"
},
"license": "GPL-3.0",
"copyright": "Copyright (C) 2025 Alvalen Shafelbilyunazra",
@ -17,13 +17,13 @@
"generate-sitemap": "node generate-sitemap.js"
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^7.0.0",
"@fortawesome/free-brands-svg-icons": "^7.0.0",
"@fortawesome/free-regular-svg-icons": "^7.0.0",
"@fortawesome/free-solid-svg-icons": "^7.0.0",
"@fortawesome/react-fontawesome": "^0.2.3",
"@fortawesome/fontawesome-svg-core": "^7.0.1",
"@fortawesome/free-brands-svg-icons": "^7.0.1",
"@fortawesome/free-regular-svg-icons": "^7.0.1",
"@fortawesome/free-solid-svg-icons": "^7.0.1",
"@fortawesome/react-fontawesome": "^0.2.6",
"@fullpage/react-fullpage": "^0.1.49",
"@tailwindcss/postcss": "^4.1.11",
"@tailwindcss/postcss": "^4.1.13",
"@vercel/analytics": "^1.5.0",
"eslint": "9.33.0",
"eslint-config-next": "15.4.6",
@ -44,4 +44,4 @@
"@types/react": "19.1.10",
"cross-env": "^10.0.0"
}
}
}

View file

@ -1,4 +1,4 @@
User-agent: *
Disallow:
Sitemap: https://www.alvalens.my.id/sitemap2.xml
Sitemap: https://www.korobtsev.ru/sitemap2.xml

View file

@ -8,57 +8,57 @@
<url>
<loc>https://www.alvalens.my.id/</loc>
<loc>https://www.korobtsev.ru/</loc>
<lastmod>2023-09-11T14:41:56+00:00</lastmod>
<priority>1.00</priority>
</url>
<url>
<loc>https://www.alvalens.my.id/about</loc>
<loc>https://www.korobtsev.ru/about</loc>
<lastmod>2023-09-11T14:41:56+00:00</lastmod>
<priority>0.80</priority>
</url>
<url>
<loc>https://www.alvalens.my.id/projects</loc>
<loc>https://www.korobtsev.ru/projects</loc>
<lastmod>2023-09-11T14:41:56+00:00</lastmod>
<priority>0.80</priority>
</url>
<url>
<loc>https://www.alvalens.my.id/projects/react-chat</loc>
<loc>https://www.korobtsev.ru/projects/react-chat</loc>
<lastmod>2023-09-11T14:41:56+00:00</lastmod>
<priority>0.64</priority>
</url>
<url>
<loc>https://www.alvalens.my.id/projects/react-tools</loc>
<loc>https://www.korobtsev.ru/projects/react-tools</loc>
<lastmod>2023-09-11T14:41:56+00:00</lastmod>
<priority>0.64</priority>
</url>
<url>
<loc>https://www.alvalens.my.id/projects/aleph-discord-bot</loc>
<loc>https://www.korobtsev.ru/projects/aleph-discord-bot</loc>
<lastmod>2023-09-11T14:41:56+00:00</lastmod>
<priority>0.64</priority>
</url>
<url>
<loc>https://www.alvalens.my.id/projects/lptk-cup-2023</loc>
<loc>https://www.korobtsev.ru/projects/lptk-cup-2023</loc>
<lastmod>2023-09-11T14:41:56+00:00</lastmod>
<priority>0.64</priority>
</url>
<url>
<loc>https://www.alvalens.my.id/projects/nu-ino-website</loc>
<loc>https://www.korobtsev.ru/projects/nu-ino-website</loc>
<lastmod>2023-09-11T14:41:56+00:00</lastmod>
<priority>0.64</priority>
</url>
<url>
<loc>https://www.alvalens.my.id/projects/unmuh-jember-landing-page</loc>
<loc>https://www.korobtsev.ru/projects/unmuh-jember-landing-page</loc>
<lastmod>2023-09-11T14:41:56+00:00</lastmod>
<priority>0.64</priority>
</url>
<url>
<loc>https://www.alvalens.my.id/projects/my-first-portofolio-website</loc>
<loc>https://www.korobtsev.ru/projects/my-first-portofolio-website</loc>
<lastmod>2023-09-11T14:41:56+00:00</lastmod>
<priority>0.64</priority>
</url>
<url>
<loc>https://www.alvalens.my.id/projects/archive</loc>
<loc>https://www.korobtsev.ru/projects/archive</loc>
<lastmod>2023-09-11T14:41:56+00:00</lastmod>
<priority>0.64</priority>
</url>