Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@
<img width="2880" height="1750" alt="대시보드 화면" src="https://github.com/user-attachments/assets/acaba5a7-9b20-47c4-91b1-7be386084c62" />

만다라트 기법을 활용한 목표 관리 대시보드
AI 기반 목표 추천과 이메일 리마인더를 제공합니다.
AI 기반 목표 추천을 제공합니다.

## Features

- 만다라트 3x3/9x9 그리드 기반 목표 시각화
- AI 기반 목표 추천 (실시간 스트리밍)
- 목표 상태 관리 및 수정
- 이메일 리마인더 설정
- ~~이메일 리마인더 설정~~ 이메일 리마인더 기능은 더이상 지원하지 않습니다.

## 기술 스택

Expand All @@ -33,7 +33,7 @@ AI 기반 목표 추천과 이메일 리마인더를 제공합니다.
>
> - 목표 저장/불러오기
> - AI 목표 추천
> - 이메일 리마인더 설정
> - ~~이메일 리마인더 설정~~

```bash
# Prerequisites: Node.js v20+
Expand Down
20 changes: 9 additions & 11 deletions src/data/step_guide.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
import {
service_info_ai,
service_info_mail,
service_info_make_goals,
service_info_regret,
service_info_success,
service_info_ai_srcSet,
service_info_mail_srcSet,
service_info_make_goals_srcSet,
service_info_regret_srcSet,
service_info_success_srcSet,
Expand Down Expand Up @@ -52,15 +50,15 @@ export const SERVICE_GUIDE_STEPS = [
srcSet: service_info_ai_srcSet,
emoji: "🤖",
},
{
step: 5,
title: "정기적인 리마인드",
subtitle: "코알라가 이메일로 알려드려요",
description: "설정한 알림 기간마다 메일을 보내 목표를 리마인드 해드려요",
image: service_info_mail,
srcSet: service_info_mail_srcSet,
emoji: "📧",
},
// {
// step: 5,
// title: "정기적인 리마인드",
// subtitle: "코알라가 이메일로 알려드려요",
// description: "설정한 알림 기간마다 메일을 보내 목표를 리마인드 해드려요",
// image: service_info_mail,
// srcSet: service_info_mail_srcSet,
// emoji: "📧",
// },
{
step: 6,
title: "목표 달성!!",
Expand Down
20 changes: 10 additions & 10 deletions src/data/tutorial.ts
Original file line number Diff line number Diff line change
Expand Up @@ -68,14 +68,14 @@ export const tutorialSteps: TutorialStep[] = [
position: "top",
mobilePosition: "top",
},
{
id: "reminder",
title: "6단계: 우체부 서비스 신청해요",
description:
"목표를 잊지 않도록 정기적으로 응원 메일을 보내드릴게요. 함께 성장해요!",
targetSelector: '[data-tutorial="reminder-button"]',
className: "reminder-button",
position: "top",
mobilePosition: "top",
},
// {
// id: "reminder",
// title: "6단계: 우체부 서비스 신청해요",
// description:
// "목표를 잊지 않도록 정기적으로 응원 메일을 보내드릴게요. 함께 성장해요!",
// targetSelector: '[data-tutorial="reminder-button"]',
// className: "reminder-button",
// position: "top",
// mobilePosition: "top",
// },
];
6 changes: 2 additions & 4 deletions src/feature/home/components/MainSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export default function MainSection({}: Props) {
src={koalaTextLogoCol}
srcSet={koalaTextLogoColSrcSet}
sizes="(max-width: 600px) 90vw, 940px"
alt="만다라트 목표 작성 & 리마인드 | 코알라 우체부"
alt="만다라트 목표 작성 | 코알라 우체부"
className="w-full max-w-xl mx-auto"
width={576}
height={444}
Expand All @@ -25,9 +25,7 @@ export default function MainSection({}: Props) {
imageRendering: "pixelated",
}}
/>
<span className="sr-only">
만다라트 목표 작성 & 리마인드 | 코알라 우체부
</span>
<span className="sr-only">만다라트 목표 작성 | 코알라 우체부</span>
</h1>
</div>
<div className="space-y-4 max-w-sm mx-auto">
Expand Down
2 changes: 1 addition & 1 deletion src/feature/home/components/ServiceIntroComponent.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Props) {
📮 코알라 우체부는 이런 서비스예요!
</h2>
<p className="text-gray-700 leading-relaxed">
체계적인 목표 설정과 꾸준한 리마인드로
체계적인 목표 설정
<br />
당신의 꿈을 현실로 만들어보세요! 🐨✨
</p>
Expand Down
2 changes: 1 addition & 1 deletion src/feature/home/pages/HomePage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export default function HomePage({ getCurrentBackground }: MandaraChartProps) {
<img
className="fixed inset-0 w-full h-full object-cover -z-10"
src={backgroundImage[0]}
alt="만다라트 목표 작성 & 리마인드 | 코알라 우체부"
alt="만다라트 목표 작성 | 코알라 우체부"
/>
</picture>
</div>
Expand Down
8 changes: 3 additions & 5 deletions src/feature/mandala/pages/MandalaBoard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ MandaraChartProps) {
setAuthText({
title: "저장하려면 로그인이 필요해요",
description:
"로그인 시 만다라트 저장은 물론, AI가 방향을 제안해주고 \n리마인드 메일로 꾸준함까지 도와드려요.",
"로그인 시 만다라트 저장은 물론, AI가 방향을 제안해주고 \n도와드려요.",
});
setAuthOpen(true);
return;
Expand Down Expand Up @@ -107,9 +107,7 @@ MandaraChartProps) {
)}
>
<h1 className="relative">
<span className="sr-only">
만다라트 목표 작성 & 리마인드 | 코알라 우체부
</span>
<span className="sr-only">만다라트 목표 작성 | 코알라 우체부</span>

<img
src={KoalaTextLogo[0]}
Expand Down Expand Up @@ -163,7 +161,7 @@ MandaraChartProps) {
variant="outline"
onClick={() => setFullVisible(true)}
className={`w-[136px] h-[32px] flex items-center gap-2 pixel-button text-sm px-4 py-2 bg-white border-[#CCCCCC] border-1 text-[#373737] font-medium active:bg-[#CCCCCC] active:border-[#B3B3B3] shadow-[4px_4px_0_0_rgba(102,102,102,0.6)] active:shadow-[inset_0_2px_4px_0_rgba(0,0,0,0.25)] backdrop-blur-sm`}
data-tutorial="reminder-button"
// data-tutorial="reminder-button"
data-testid="full-open-button"
>
<FullIcon />
Expand Down
16 changes: 6 additions & 10 deletions src/pages/+Head.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
export default function Head() {
return (
<>
<title>만다라트 목표 작성 & 리마인드 | 코알라 우체부</title>
<title>만다라트 목표 작성 | 코알라 우체부</title>
<link rel="canonical" href="https://mandalart.koreankoala.com" />
<link rel="icon" href="/favicon.ico" sizes="any" />
<link rel="icon" type="image/svg+xml" href="/koala.svg" />
Expand All @@ -11,10 +11,10 @@ export default function Head() {
/>

{/* <!-- 기본 SEO --> */}
<title>만다라트 목표 작성 & 리마인드 | 코알라 우체부</title>
<title>만다라트 목표 작성 | 코알라 우체부</title>
<meta
name="description"
content="코알라 우체부는 만다라트 기반으로 목표를 설정하고, 리마인드하는 서비스입니다. 만다라트는 목표를 세부적으로 나눠 계획할 수 있는 도구로, 코알라 우체부에서 사용해보세요. 코알라 우체부로 목표를 작성하고 AI 추천을 받아 나만의 만다라트를 완성할 수 있습니다. 작성 완료 후, 코알라 우체부가 목표를 잊지 않게 리마인드 메일을 보내드립니다. 지금 바로 시작해서 나만의 만다라트를 완성하고 목표를 달성해보세요."
content="코알라 우체부는 만다라트 기반으로 목표를 설정하는 서비스입니다. 만다라트는 목표를 세부적으로 나눠 계획할 수 있는 도구로, 코알라 우체부에서 사용해보세요. 코알라 우체부로 목표를 작성하고 AI 추천을 받아 나만의 만다라트를 완성할 수 있습니다. 지금 바로 시작해서 나만의 만다라트를 완성하고 목표를 달성해보세요."
/>
<meta
name="keywords"
Expand All @@ -24,13 +24,10 @@ export default function Head() {
{/* <!-- Open Graph SEO --> */}
<meta property="og:type" content="website" />
<meta property="og:site_name" content="만다라트" />
<meta
property="og:title"
content="만다라트 목표 작성 & 리마인드 | 코알라 우체부"
/>
<meta property="og:title" content="만다라트 목표 작성 | 코알라 우체부" />
<meta
property="og:description"
content="코알라 우체부는 만다라트 기반으로 목표를 설정하고, 리마인드하는 서비스입니다. 만다라트는 목표를 세부적으로 나눠 계획할 수 있는 도구로, 코알라 우체부에서 사용해보세요. 코알라 우체부로 목표를 작성하고 AI 추천을 받아 나만의 만다라트를 완성할 수 있습니다. 작성 완료 후, 코알라 우체부가 목표를 잊지 않게 리마인드 메일을 보내드립니다. 지금 바로 시작해서 나만의 만다라트를 완성하고 목표를 달성해보세요."
content="코알라 우체부는 만다라트 기반으로 목표를 설정하고, 리마인드하는 서비스입니다. 만다라트는 목표를 세부적으로 나눠 계획할 수 있는 도구로, 코알라 우체부에서 사용해보세요. 코알라 우체부로 목표를 작성하고 AI 추천을 받아 나만의 만다라트를 완성할 수 있습니다. 지금 바로 시작해서 나만의 만다라트를 완성하고 목표를 달성해보세요."
/>
<meta property="og:url" content="https://mandalart.koreankoala.com" />

Expand Down Expand Up @@ -73,7 +70,7 @@ export default function Head() {
"@type": "WebApplication",
"name": "만다라트",
"applicationCategory": "ProductivityApplication",
"description": "코알라 우체부는 만다라트 기반으로 목표를 설정하고, 리마인드하는 서비스입니다. 만다라트는 목표를 세부적으로 나눠 계획할 수 있는 도구로, 코알라 우체부에서 사용해보세요. 코알라 우체부로 목표를 작성하고 AI 추천을 받아 나만의 만다라트를 완성할 수 있습니다. 작성 완료 후, 코알라 우체부가 목표를 잊지 않게 리마인드 메일을 보내드립니다. 지금 바로 시작해서 나만의 만다라트를 완성하고 목표를 달성해보세요.",
"description": "코알라 우체부는 만다라트 기반으로 목표를 설정하고, 리마인드하는 서비스입니다. 만다라트는 목표를 세부적으로 나눠 계획할 수 있는 도구로, 코알라 우체부에서 사용해보세요. 코알라 우체부로 목표를 작성하고 AI 추천을 받아 나만의 만다라트를 완성할 수 있습니다. 지금 바로 시작해서 나만의 만다라트를 완성하고 목표를 달성해보세요.",
"url": "https://mandalart.koreankoala.com",
"offers": {
"@type": "Offer",
Expand All @@ -85,7 +82,6 @@ export default function Head() {
"featureList": [
"9x9 만다라트 차트",
"목표 설정 및 관리",
"목표 리마인드"
],
"inLanguage": "ko"
}`,
Expand Down
2 changes: 1 addition & 1 deletion src/pages/_error/+Page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ export default function Page404() {
width={476}
height={96}
style={{ maxWidth: "100%", height: "auto" }}
alt="만다라트 목표 작성 & 리마인드 | 코알라 우체부"
alt="만다라트 목표 작성 | 코알라 우체부"
/>
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion src/shared/components/header/Header.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ export default function Header({
setAuthText({
title: "저장하려면 로그인이 필요해요",
description:
"로그인 시 만다라트 저장은 물론, AI가 방향을 제안해주고 \n리마인드 메일로 꾸준함까지 도와드려요.",
"로그인 시 만다라트 저장은 물론, AI가 방향을 제안해주고 \n도와드려요.",
});
setAuthOpen(true);
}}
Expand Down
Loading