📊🎯📚AetherDesk:专为所有开发者打造的定制化内网……💻👩💻👨💻
📊🎯📚 AetherDesk - 个性化一体化数字企业内网工作空间
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
这是 由 Axero 和 Holistic Webdev 联合举办的前端挑战赛:办公空间版的参赛作品。
🌐 我建造的
我创建了 AetherDesk ,这是我梦寐以求的企业内网和一体化数字工作空间。它使用 HTML、CSS 和 JavaScript 构建,是一个高度个性化的中心,我可以在这里:
跟踪项目和团队统计数据
运行番茄工作法并设定每日目标
访问我最喜欢的学习内容
利用运动、音乐和小游戏进行快速的健康休息
AetherDesk的设计灵感源自 Axero ,并根据我作为 Web 开发人员的工作流程量身定制,它将 我需要的一切 都集中在一个地方:工作、专注、学习和娱乐。
🎯 愿景
我是一名网页开发人员,讨厌不停地切换标签页( 谁会喜欢呢,对吧 )。我想要 一个空间 来:
📊通过仪表板 一目了然地获取所有工作信息, 仪表板显示关键开发统计数据、快速操作、事件、团队更新和启动板。
🎯 使用工具集中精力并跟踪我的工作效率,让我保持专注
📚 从我保存在文档、视频和平台上的内容中学习新技能
🎮 通过快速游戏、简短而充满活力的锻炼或舒缓的音乐来放松身心
🔄 在同一界面轻松切换工作、专注、学习和娱乐模式,无需频繁切换标签页
AetherDesk 反映了 我 作为开发人员的自然工作流程:完成任务、保持好奇心,并记得在间隙休息一下。
🧩 主要章节
🏢 控制面板
📊 开发指标 :提交次数、代码审查次数、正常运行时间
⚡ 快速操作 :部署、审核、创建项目
💬 消息中心 :预览和时间戳
⭐ 团队聚焦 :每周/每月最佳员工
📅 活动 :会议提醒
🚀 Launchpad :GitHub、VS Code、Figma 等等
🧠 专注模式
📈 效率统计 :每日专注度得分和已完成任务
🍅 番茄钟 :预设 + 自定义会话
📋 看板 :拖放式任务流程
🎯 每日目标 :设定并跟踪一个大目标
📚 学习模式
一个个性化的空间,用于成长、提升技能,并访问我保存的所有学习资料 :
📺 精选 YouTube 播放列表 - React、Node、CSS Grid 等
📖 文档中心 – React、TypeScript、Next.js 等官方文档
🧪 开发者工具和平台 - CodePen、LeetCode、freeCodeCamp
🐙 GitHub 代码库 - 有用的代码库和开源资源
📰 文章与博客 - 精选见解、指南和开发者读物
🎮 游戏模式
📱 社交平台 :X、LinkedIn、Discord
💪 锻炼 :办公桌拉伸和高强度间歇训练
🧘♀️ 音乐与氛围 :专注歌单,雨声
🧩 小游戏 :数独、贪吃蛇、词云
📽️ 演示和代码
🚀 启动 AetherDesk Live :
体验完整功能,探索所有功能、主题和版块的实际应用。点击下方图片👇⬇️
💻 点击此处查看代码 :
想知道它是如何构建的吗?看看代码库,了解各个部分是如何工作的,或者自己 fork 一下。
📊🎯📚 AetherDesk - 个性化一体化数字企业内网工作空间
📋 目录
✨ 特点
🏠 仪表盘
实时欢迎板块, 根据一天中的时间显示动态问候语
用于常见开发人员任务的 快速操作面板
增强型消息中心 ,带有未读消息指示器和实时更新功能
团队亮点 展示团队成就
带有可视化日期指示器的 近期活动日历
开发指标, 包含实时统计数据和进度跟踪
🎯 专注模式
生产力分析 ,包含每日/每周跟踪功能
开发者启动平台 ,可快速访问必备工具
每日专注目标设定, 并具有持久存储功能
带有自定义间隔的 高级番茄钟计时器
具有拖放功能 的交互式看板……
🎨 在 CodePen 上玩 :
实时调整布局、测试交互或切换主题。点击这里👇
🛤️ 旅程
我首先浏览了 Axero 的网站,了解优秀的企业内部网仪表盘应该具备哪些要素。在此基础上,我实施了以下方案:
📅 近期活动 - 随时了解会议和截止日期
👋 个性化问候 - 基于时间的欢迎语,让您倍感 亲切
🏆 最有效率员工 - 游戏化激励和表扬
🚀 开发者启动平台 – 快速访问 GitHub、VS Code、Figma 等工具
📈 团队统计信息 - 提交次数、代码审查次数和系统正常运行时间一目了然
但后来我问自己: “如果这不仅仅是一个工作空间,而是我的数字宇宙呢?”
因此,我根据自己真实的工作、学习和放松方式, 又增加了 3 个 核心部分:
🧠 专注模式 - 专为无干扰深度工作而设计,配备自定义番茄钟计时器、拖放式看板和每日目标设定功能。
📚 学习模式 - 存放着我所有保存的资源:YouTube 播放列表、GitHub 代码库、文档、文章、编码工具以及 LeetCode 和 CodePen 等平台。
🎮 玩乐模式 ——因为高效工作并非只有埋头苦干;它包含社交媒体板块、高强度间歇训练和桌面锻炼、舒缓音乐,以及数独和词云等益智游戏。
最初只是一个仪表盘,后来发展成为 AetherDesk ,一个完整的、个性化的数字工作空间,它陪伴我度过一天中的每一部分。
🔧 关键实现细节(附代码片段!)
AetherDesk 的外观简洁时尚,但其底层逻辑却十分强大(这显而易见!)。以下是一些核心功能概览:
⏱ 自定义番茄钟计时器
可自定义定时专注计时器,并可在工作和休息时段之间自动切换。
let workTime = 25 * 60;
let breakTime = 5 * 60;
let isWork = true;
let interval;
function startTimer() {
interval = setInterval(() => {
let currentTime = isWork ? workTime : breakTime;
currentTime--;
displayTime(currentTime);
if (currentTime <= 0) {
clearInterval(interval);
isWork = !isWork;
startTimer(); // switch session
}
if (isWork) {
workTime = currentTime;
} else {
breakTime = currentTime;
}
localStorage.setItem("pomodoroSession", JSON.stringify({ workTime, breakTime, isWork }));
}, 1000);
}
Enter fullscreen mode
Exit fullscreen mode
💡 功能 :
自动切换工作和休息模式
使用 localStorage 持久化会话状态
📦 拖放式看板
一个使用 HTML5 Drag API 和 localStorage 构建的面向开发人员的任务看板。
function allowDrop(ev) {
ev.preventDefault();
}
function drag(ev) {
ev.dataTransfer.setData("text", ev.target.id);
}
function drop(ev, targetColumnId) {
ev.preventDefault();
let data = ev.dataTransfer.getData("text");
let task = document.getElementById(data);
document.getElementById(targetColumnId).appendChild(task);
saveBoardState();
}
Enter fullscreen mode
Exit fullscreen mode
💡 功能 :
🌈 自定义配色方案的主题切换
可在粉色、蓝色、绿色和紫色这 4 种颜色主题之间切换。
const themeBtn = document.getElementById("theme-toggle");
themeBtn.addEventListener("click", () => {
const themes = ["pink", "blue", "green", "purple"];
const current = document.documentElement.getAttribute("data-theme");
const index = themes.indexOf(current);
const next = themes[(index + 1) % themes.length];
document.documentElement.setAttribute("data-theme", next);
localStorage.setItem("theme", next);
});
Enter fullscreen mode
Exit fullscreen mode
💡 功能 :
循环显示以下配色方案:
🌸 粉色: #e91e63/ #9c27b0
🔵 蓝色: #1976d2/ #0d47a1
🌿 绿色: #388e3c/ #2e7d32
💜 紫色: #7b1fa2/ #6a1b9a
使用 CSS 自定义属性实现平滑过渡
将用户偏好设置存储在本地存储中
📝 每日专注目标坚持
一款简洁而强大的工具,可帮助您设定当天的主要工作重点 。
const goalInput = document.getElementById("daily-goal");
goalInput.addEventListener("input", () => {
localStorage.setItem("focusGoal", goalInput.value);
});
window.addEventListener("DOMContentLoaded", () => {
const savedGoal = localStorage.getItem("focusGoal");
if (savedGoal) goalInput.value = savedGoal;
});
Enter fullscreen mode
Exit fullscreen mode
💡 功能 :
保存并重新加载您当天的优先事项(仅限 1 项)
强化专注力和目标设定习惯
与专注模式布局无缝集成
💪🔥 短时、高效、酣畅淋漓、热血沸腾的锻炼
内置运动和迷你锻炼,让你的身心保持活力充沛。
const workoutBtns = document.querySelectorAll(".workout-start");
workoutBtns.forEach((btn) =>
btn.addEventListener("click", () => {
const type = btn.dataset.type;
startWorkout(type); // launches Desk, HIIT, Tabata, or Cardio
showToast(`${type} started! 💪`);
})
);
Enter fullscreen mode
Exit fullscreen mode
💡 功能 :
🧰 技术栈
AetherDesk 完全采用核心前端技术打造,使其速度快、重量轻且完全可定制:
🧱 HTML5 - 语义结构、易于访问的标签和 ARIA 角色
🎨 CSS3 - 响应式设计,包含 flex<img>、 grid<img>、 clamp()<img> 和过渡效果
💅 SASS - 模块化样式表,支持嵌套和变量,实现可扩展的主题设计
💾 localStorage API - 用于持久化主题、专注目标、任务看板、统计数据等
✨ JavaScript (ES6+) - 计时器、拖放、主题切换和交互功能的核心逻辑
🧩 HTML5 拖放 API - 为看板任务移动提供流畅的用户体验
🔊 网页通知 + Toast 界面 - 用于提供微妙的反馈和激励
♿ 符合 ARIA 和 WCAG 2.1 标准 - 设计时充分考虑了无障碍性和包容性。
⚠️ 我面临的挑战
AetherDesk 的每个部分都促使我更深入地思考其功能性和用户体验,以下是其中最艰难但也最有成就感的部分:
🔄 不使用框架处理动态状态 - 我使用原生 JavaScript 手动实现了从番茄工作法逻辑到拖放式看板、专注目标和主题持久化等所有功能。
🧠 设计四种既独立又统一的模式 ——让仪表盘、专注、学习和娱乐感觉像是 各自独立的世界 ,但又都属于同一个连贯的工作空间。
🎨 美学与效率的完美结合 ——我希望它既 美观 ,又能支持实际工作流程,拥有流畅的动画、直观的用户体验和零视觉干扰。
♿ 为了确保 无障碍设计,我手动实施了包容性设计原则,涵盖了从 ARIA 标签和焦点指示器到键盘导航和颜色对比度等各个方面。
💡 创造一件我真心每天都会用到的东西 ——这不仅仅是功能性的问题;它关乎快乐、自我认同,以及打造一个 真正适合我的工作空间。
📝 我学到了什么
这对我来说不仅仅是一项设计或编码任务,而是一次完整的创意和功能探索:
✅ 熟练掌握 Flexbox 、 CSS Grid 和现代单元等响应式布局 clamp() ✅ 精进 原生 JavaScript 技能,无需库即可处理逻辑繁重的组件 ✅ 广泛使用 localStorage ,使每个部分都具有持久性和设计感 ✅ 构建 可重用组件 ,例如弹出窗口、模态框和卡片,以简化 UI/UX 一致性 ✅ 采用 SASS 编写可扩展且简洁的 CSS ✅ 应用 无障碍最佳实践 ——ARIA 角色、键盘交互和焦点高亮 ✅ 基于 真实用户行为 进行设计——专注学习、学习冲刺、游戏休息和正念健康 ✅ 学会构建兼顾 效率和个性的空间
💖😌 我引以为豪的事
🎯 个性化 :感觉就像是专门为我的工作流程、偏好和日常节奏量身打造的空间。
🎨 主题与模式 :浅色/深色切换、4 种独特配色方案以及柔和的渐变过渡效果,带来愉悦的视觉体验
⚡ 性能 :完全使用纯 HTML、CSS 和 JS 构建——没有框架,没有依赖项,简洁快速。
♿ 辅助功能 :手动 ARIA 角色、键盘导航和符合 WCAG 标准的颜色对比度,带来包容性的体验
是的,界面特意 针对大屏幕进行了优化, 因为在大屏幕上工作更适合深度工作。 我把所有元素都做得更宽敞一些,因为……我戴眼镜😭😭 在笔记本电脑上,只需将缩放比例缩小到 80% ,就能体验到完整的 AetherDesk 使用感受!
✨ 结语
AetherDesk 不仅仅是一个项目,它是 我的 数字空间。一个反映我思考、工作、学习和放松方式的工作空间。 在这里,番茄工作法与玩乐完美融合,专注与平静并存,深度工作与多巴胺的刺激交织在一起。
我想要的不仅仅是另一个仪表盘——我想要的是一个 能承载我开发流程的 家。一个 专为我打造的 东西 ,因为我是一个专注的开发者,一个求知欲强的学习者,而且需要时不时地做做Wordle或者高强度间歇训练来放松一下。
感谢 DEV.to 和 Axero 给我的启发,让我最终构建出了我甚至都不知道自己需要的东西💙🩷 从探索真实的企业内部网,到融入我自己的混乱、清晰和创造力——这不仅仅是一项挑战,更是一次愉悦的体验。
感谢你读到最后——从疲惫到灵感迸发,从代码编写到内心平静,这片空间不再只属于我。它属于每一位想要一站式服务的开发者 。✨💻🧠💖🎯
最后, 非常感谢 您读到这里!🫶 如果您觉得 AetherDesk 对您有所帮助或启发,以下是一些表达支持的方式:
您的支持对我意义非凡。💖
GIF
文章来源:https://dev.to/divyasinghdev/aetherdesk-elite-custom-intranet-Designed-just-for-you-40p1