diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 913a7af..91a0cbf 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,14 +31,14 @@ jobs: - name: Run lint run: npm run lint - - name: Generate types from remote - if: ${{ env.SUPABASE_PROJECT_ID && env.SUPABASE_ACCESS_TOKEN }} - env: - SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_ACCESS_TOKEN }} - run: | - npx supabase gen types typescript \ - --project-id ${{ secrets.SUPABASE_PROJECT_ID }} \ - > app/supabase-types.ts + # - name: Generate types from remote + # if: ${{ env.SUPABASE_PROJECT_ID && env.SUPABASE_ACCESS_TOKEN }} + # env: + # SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_ACCESS_TOKEN }} + # run: | + # npx supabase gen types typescript \ + # --project-id ${{ secrets.SUPABASE_PROJECT_ID }} \ + # > app/supabase-types.ts # this will be suspended for now # - name: Run migrations diff --git a/README.md b/README.md index 685e640..9c7f2e7 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # devpulse -Measure and share your coding productivity with personalized leaderboards. Compare your progress with peers while keeping full control over privacy and leaderboard settings. +Measure and share your coding productivity with personalized leaderboards. Compare your progress with peers while keeping full control over privacy and leaderboard settings with project management features. ## Getting Started Install the dependencies: @@ -18,7 +18,7 @@ First by creating a supabase cloud project: - click `New Project` - choose: - Organization → (create one if needed) - - Project Name → e.g. devpulse-waka + - Project Name → e.g. devpulse - Database Password → choose a secure one - Region → pick the nearest location - Click Create new project @@ -132,7 +132,7 @@ Contributions to devpulse are welcome! Please follow these guidelines: > Pull requests that modify existing working features without prior discussion may not be merged. -Help us keep the codebase ("DevPulse") clean, stable, and maintainable. +Help us keep the codebase ("Devpulse") clean, stable, and maintainable. ## License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. diff --git a/app/(auth)/login/page.tsx b/app/(auth)/login/page.tsx index 05cd1c5..5b702f0 100644 --- a/app/(auth)/login/page.tsx +++ b/app/(auth)/login/page.tsx @@ -6,11 +6,11 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faChevronLeft } from "@fortawesome/free-solid-svg-icons"; export const metadata: Metadata = { - title: "Login - DevPulse", + title: "Login - Devpulse", description: - "Log in to your DevPulse account to monitor your coding activity and compete on leaderboards.", + "Log in to your Devpulse account to monitor your coding activity and compete on leaderboards.", keywords: [ - "DevPulse", + "Devpulse", "login", "coding activity tracker", "developer leaderboards", @@ -23,17 +23,17 @@ export const metadata: Metadata = { "productivity insights", ], openGraph: { - title: "Login - DevPulse", + title: "Login - Devpulse", description: - "Log in to your DevPulse account to monitor your coding activity and compete on leaderboards.", - url: "https://devpulse-waka.vercel.app/login", - siteName: "DevPulse", + "Log in to your Devpulse account to monitor your coding activity and compete on leaderboards.", + url: "https://devpulse.hallofcodes.org/login", + siteName: "Devpulse", images: [ { - url: "https://devpulse-waka.vercel.app/images/devpulse.cover.png", + url: "https://devpulse.hallofcodes.org/images/devpulse.cover.png", width: 1200, height: 630, - alt: "DevPulse Cover Image", + alt: "Devpulse Cover Image", }, ], locale: "en_US", @@ -41,13 +41,13 @@ export const metadata: Metadata = { }, twitter: { card: "summary_large_image", - title: "Login - DevPulse", + title: "Login - Devpulse", description: - "Log in to your DevPulse account to monitor your coding activity and compete on leaderboards.", + "Log in to your Devpulse account to monitor your coding activity and compete on leaderboards.", images: [ { - url: "https://devpulse-waka.vercel.app/images/devpulse.cover.png", - alt: "DevPulse Cover Image", + url: "https://devpulse.hallofcodes.org/images/devpulse.cover.png", + alt: "Devpulse Cover Image", }, ], }, @@ -84,9 +84,9 @@ export default async function Login(props: { href="/" className="flex items-center gap-3 w-fit hover:opacity-80 transition" > - DevPulse Logo + Devpulse Logo - DevPulse + Devpulse @@ -136,7 +136,7 @@ export default async function Login(props: {
- © {new Date().getFullYear()} DevPulse. All rights reserved. + © {new Date().getFullYear()} Devpulse. All rights reserved.
@@ -146,8 +146,8 @@ export default async function Login(props: {
- DevPulse Logo -

DevPulse

+ Devpulse Logo +

Devpulse

diff --git a/app/(auth)/signup/page.tsx b/app/(auth)/signup/page.tsx index 33c39d6..97b7fcf 100644 --- a/app/(auth)/signup/page.tsx +++ b/app/(auth)/signup/page.tsx @@ -6,21 +6,21 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faChevronLeft } from "@fortawesome/free-solid-svg-icons"; export const metadata: Metadata = { - title: "Sign Up - DevPulse", + title: "Sign Up - Devpulse", description: - "Create a DevPulse account to monitor your coding activity and compete on leaderboards.", + "Create a Devpulse account to monitor your coding activity and compete on leaderboards.", openGraph: { - title: "Sign Up - DevPulse", + title: "Sign Up - Devpulse", description: - "Create a DevPulse account to monitor your coding activity and compete on leaderboards.", - url: "https://devpulse-waka.vercel.app/signup", - siteName: "DevPulse", + "Create a Devpulse account to monitor your coding activity and compete on leaderboards.", + url: "https://devpulse.hallofcodes.org/signup", + siteName: "Devpulse", images: [ { - url: "https://devpulse-waka.vercel.app/images/devpulse.cover.png", + url: "https://devpulse.hallofcodes.org/images/devpulse.cover.png", width: 1200, height: 630, - alt: "DevPulse Cover Image", + alt: "Devpulse Cover Image", }, ], locale: "en_US", @@ -28,13 +28,13 @@ export const metadata: Metadata = { }, twitter: { card: "summary_large_image", - title: "Sign Up - DevPulse", + title: "Sign Up - Devpulse", description: - "Create a DevPulse account to monitor your coding activity and compete on leaderboards.", + "Create a Devpulse account to monitor your coding activity and compete on leaderboards.", images: [ { - url: "https://devpulse-waka.vercel.app/images/devpulse.cover.png", - alt: "DevPulse Cover Image", + url: "https://devpulse.hallofcodes.org/images/devpulse.cover.png", + alt: "Devpulse Cover Image", }, ], }, @@ -71,9 +71,9 @@ export default async function Signup(props: { href="/" className="flex items-center gap-3 w-fit hover:opacity-80 transition" > - DevPulse Logo + Devpulse Logo - DevPulse + Devpulse
@@ -123,7 +123,7 @@ export default async function Signup(props: {
- © {new Date().getFullYear()} DevPulse. All rights reserved. + © {new Date().getFullYear()} Devpulse. All rights reserved.
@@ -133,8 +133,8 @@ export default async function Signup(props: {
- DevPulse Logo -

DevPulse

+ Devpulse Logo +

Devpulse

diff --git a/app/(public)/flex/page.tsx b/app/(public)/flex/page.tsx index ad182b2..2e4a84d 100644 --- a/app/(public)/flex/page.tsx +++ b/app/(public)/flex/page.tsx @@ -9,11 +9,11 @@ import { faExternalLink } from "@fortawesome/free-solid-svg-icons"; import { Metadata } from "next"; export const metadata: Metadata = { - title: "Flexes - DevPulse", + title: "Flexes - Devpulse", description: - "Flex your coding projects and share your achievements with the DevPulse community. See what others are working on and get inspired!", + "Flex your coding projects and share your achievements with the Devpulse community. See what others are working on and get inspired!", keywords: [ - "DevPulse", + "Devpulse", "coding flexes", "developer projects", "coding achievements", @@ -23,17 +23,17 @@ export const metadata: Metadata = { "coding inspiration", ], openGraph: { - title: "Flexes - DevPulse", + title: "Flexes - Devpulse", description: - "Flex your coding projects and share your achievements with the DevPulse community. See what others are working on and get inspired!", - url: "https://devpulse-waka.vercel.app/flex", - siteName: "DevPulse", + "Flex your coding projects and share your achievements with the Devpulse community. See what others are working on and get inspired!", + url: "https://devpulse.hallofcodes.org/flex", + siteName: "Devpulse", images: [ { - url: "https://devpulse-waka.vercel.app/images/devpulse.cover.png", + url: "https://devpulse.hallofcodes.org/images/devpulse.cover.png", width: 1200, height: 630, - alt: "DevPulse Cover Image", + alt: "Devpulse Cover Image", }, ], locale: "en_US", @@ -41,13 +41,13 @@ export const metadata: Metadata = { }, twitter: { card: "summary_large_image", - title: "Flexes - DevPulse", + title: "Flexes - Devpulse", description: - "Flex your coding projects and share your achievements with the DevPulse community. See what others are working on and get inspired!", + "Flex your coding projects and share your achievements with the Devpulse community. See what others are working on and get inspired!", images: [ { - url: "https://devpulse-waka.vercel.app/images/devpulse.cover.png", - alt: "DevPulse Cover Image", + url: "https://devpulse.hallofcodes.org/images/devpulse.cover.png", + alt: "Devpulse Cover Image", }, ], }, @@ -73,8 +73,8 @@ export default async function Flexs() {
- DevPulse Logo -

DevPulse Flexes

+ Devpulse Logo +

Devpulse Flexes

{data?.length === 0 && ( diff --git a/app/(public)/join/[code]/page.tsx b/app/(public)/join/[code]/page.tsx index d956f8d..3f93f78 100644 --- a/app/(public)/join/[code]/page.tsx +++ b/app/(public)/join/[code]/page.tsx @@ -22,7 +22,7 @@ export async function generateMetadata({ params }: Props): Promise { if (!leaderboard) { return { - title: "Invite Not Found - DevPulse", + title: "Invite Not Found - Devpulse", description: "This invite link is invalid or has expired.", }; } @@ -31,16 +31,16 @@ export async function generateMetadata({ params }: Props): Promise { const description = leaderboard?.description && leaderboard.description.length > 0 ? leaderboard.description - : `Join the ${leaderboard.name} leaderboard on DevPulse and compete with other developers. Track your coding activity and climb the ranks!`; + : `Join the ${leaderboard.name} leaderboard on Devpulse and compete with other developers. Track your coding activity and climb the ranks!`; return { - title: `${title} - DevPulse`, + title: `${title} - Devpulse`, description, openGraph: { title, description, type: "website", - siteName: "DevPulse", + siteName: "Devpulse", url: `/join?id=${encodeURIComponent(code)}`, }, twitter: { diff --git a/app/(public)/join/page.tsx b/app/(public)/join/page.tsx index 25e8498..d7ce186 100644 --- a/app/(public)/join/page.tsx +++ b/app/(public)/join/page.tsx @@ -43,15 +43,15 @@ export async function generateMetadata({ if (!code) { return { - title: "Join - DevPulse", - description: "Open an invite link to join a DevPulse leaderboard.", + title: "Join - Devpulse", + description: "Open an invite link to join a Devpulse leaderboard.", }; } const leaderboard = await getLeaderboard(code); if (!leaderboard) { return { - title: "Invite Not Found - DevPulse", + title: "Invite Not Found - Devpulse", description: "This invite link is invalid or has expired.", }; } @@ -60,17 +60,17 @@ export async function generateMetadata({ const description = leaderboard.description && leaderboard.description?.length > 0 ? leaderboard.description - : `Join the ${leaderboard.name} leaderboard on DevPulse and compete with other developers. Track your coding activity and climb the ranks!`; + : `Join the ${leaderboard.name} leaderboard on Devpulse and compete with other developers. Track your coding activity and climb the ranks!`; return { - title: `${title} - DevPulse`, + title: `${title} - Devpulse`, description, openGraph: { title, description, type: "website", - siteName: "DevPulse", - url: `https://devpulse-waka.vercel.app/join?id=${encodeURIComponent(code)}`, + siteName: "Devpulse", + url: `https://devpulse.hallofcodes.org/join?id=${encodeURIComponent(code)}`, }, twitter: { card: "summary_large_image", @@ -102,7 +102,7 @@ export default async function JoinPage({ searchParams }: Props) { /join?id=XXXXXXXX.

- Go to DevPulse + Go to Devpulse
@@ -128,7 +128,7 @@ export default async function JoinPage({ searchParams }: Props) { This invite link is invalid or has expired.

- Go to DevPulse + Go to Devpulse @@ -162,7 +162,7 @@ export default async function JoinPage({ searchParams }: Props) {
- DevPulse + Devpulse
@@ -212,7 +212,7 @@ export default async function JoinPage({ searchParams }: Props) { href="/" className="text-indigo-400/70 hover:text-indigo-400 transition-colors" > - DevPulse + Devpulse {" "} — Track your coding activity & compete

diff --git a/app/(public)/leaderboard/page.tsx b/app/(public)/leaderboard/page.tsx index 0bb0f99..9ae9bb4 100644 --- a/app/(public)/leaderboard/page.tsx +++ b/app/(public)/leaderboard/page.tsx @@ -9,11 +9,11 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faArrowRight } from "@fortawesome/free-solid-svg-icons"; export const metadata: Metadata = { - title: "Leaderboards - DevPulse", + title: "Leaderboards - Devpulse", description: - "Explore the DevPulse leaderboards and see how you rank against other developers. Check out the top coders and get inspired to climb the ranks!", + "Explore the Devpulse leaderboards and see how you rank against other developers. Check out the top coders and get inspired to climb the ranks!", keywords: [ - "DevPulse", + "Devpulse", "developer leaderboards", "coding rankings", "programming competition", @@ -24,17 +24,17 @@ export const metadata: Metadata = { "coding inspiration", ], openGraph: { - title: "Leaderboards - DevPulse", + title: "Leaderboards - Devpulse", description: - "Explore the DevPulse leaderboards and see how you rank against other developers. Check out the top coders and get inspired to climb the ranks!", - url: "https://devpulse-waka.vercel.app/leaderboard", - siteName: "DevPulse", + "Explore the Devpulse leaderboards and see how you rank against other developers. Check out the top coders and get inspired to climb the ranks!", + url: "https://devpulse.hallofcodes.org/leaderboard", + siteName: "Devpulse", images: [ { - url: "https://devpulse-waka.vercel.app/images/devpulse.cover.png", + url: "https://devpulse.hallofcodes.org/images/devpulse.cover.png", width: 1200, height: 630, - alt: "DevPulse Cover Image", + alt: "Devpulse Cover Image", }, ], locale: "en_US", @@ -42,13 +42,13 @@ export const metadata: Metadata = { }, twitter: { card: "summary_large_image", - title: "Leaderboards - DevPulse", + title: "Leaderboards - Devpulse", description: - "Explore the DevPulse leaderboards and see how you rank against other developers. Check out the top coders and get inspired to climb the ranks!", + "Explore the Devpulse leaderboards and see how you rank against other developers. Check out the top coders and get inspired to climb the ranks!", images: [ { - url: "https://devpulse-waka.vercel.app/images/devpulse.cover.png", - alt: "DevPulse Cover Image", + url: "https://devpulse.hallofcodes.org/images/devpulse.cover.png", + alt: "Devpulse Cover Image", }, ], }, @@ -87,9 +87,9 @@ export default async function Leaderboards() {
- DevPulse Logo + Devpulse Logo

- DevPulse Leaderboards + Devpulse Leaderboards

diff --git a/app/(user)/dashboard/admin/page.tsx b/app/(user)/dashboard/admin/page.tsx index 5b2ea59..5c37328 100644 --- a/app/(user)/dashboard/admin/page.tsx +++ b/app/(user)/dashboard/admin/page.tsx @@ -4,7 +4,7 @@ import { Metadata } from "next"; import { redirect } from "next/navigation"; export const metadata: Metadata = { - title: "Admin Panel - DevPulse", + title: "Admin Panel - Devpulse", }; export default async function AdminPage() { diff --git a/app/(user)/dashboard/chat/page.tsx b/app/(user)/dashboard/chat/page.tsx index 73e0bdc..32b32f2 100644 --- a/app/(user)/dashboard/chat/page.tsx +++ b/app/(user)/dashboard/chat/page.tsx @@ -4,7 +4,7 @@ import { Metadata } from "next"; import { redirect } from "next/navigation"; export const metadata: Metadata = { - title: "Chat - DevPulse", + title: "Chat - Devpulse", }; export default async function ChatPage() { diff --git a/app/(user)/dashboard/flex/page.tsx b/app/(user)/dashboard/flex/page.tsx index 5a4b1c0..9c8a3bd 100644 --- a/app/(user)/dashboard/flex/page.tsx +++ b/app/(user)/dashboard/flex/page.tsx @@ -4,7 +4,7 @@ import { Metadata } from "next"; import { redirect } from "next/navigation"; export const metadata: Metadata = { - title: "Flexes - DevPulse", + title: "Flexes - Devpulse", }; export default async function FlexPage() { diff --git a/app/(user)/dashboard/leaderboards/page.tsx b/app/(user)/dashboard/leaderboards/page.tsx index ab85c39..54b691c 100644 --- a/app/(user)/dashboard/leaderboards/page.tsx +++ b/app/(user)/dashboard/leaderboards/page.tsx @@ -5,7 +5,7 @@ import { Metadata } from "next"; import { redirect } from "next/navigation"; export const metadata: Metadata = { - title: "Leaderboards - DevPulse", + title: "Leaderboards - Devpulse", }; export default async function LeaderboardsPage() { diff --git a/app/(user)/dashboard/page.tsx b/app/(user)/dashboard/page.tsx index a2aece8..64f5175 100644 --- a/app/(user)/dashboard/page.tsx +++ b/app/(user)/dashboard/page.tsx @@ -5,7 +5,7 @@ import { Metadata } from "next"; import { getUserWithProfile } from "@/app/lib/supabase/help/user"; export const metadata: Metadata = { - title: "Dashboard - DevPulse", + title: "Dashboard - Devpulse", }; export default async function Dashboard() { diff --git a/app/(user)/dashboard/settings/page.tsx b/app/(user)/dashboard/settings/page.tsx index fbf2fb7..16d3eef 100644 --- a/app/(user)/dashboard/settings/page.tsx +++ b/app/(user)/dashboard/settings/page.tsx @@ -6,7 +6,7 @@ import { getUserWithProfile } from "@/app/lib/supabase/help/user"; import { redirect } from "next/navigation"; export const metadata: Metadata = { - title: "Settings - DevPulse", + title: "Settings - Devpulse", }; export default async function SettingsPage() { diff --git a/app/(user)/logout/page.tsx b/app/(user)/logout/page.tsx index be48cec..431cc45 100644 --- a/app/(user)/logout/page.tsx +++ b/app/(user)/logout/page.tsx @@ -2,7 +2,7 @@ import LogoutForm from "@/app/components/auth/Logout"; import { Metadata } from "next"; export const metadata: Metadata = { - title: "Logout - DevPulse", + title: "Logout - Devpulse", }; export default async function Logout() { diff --git a/app/(user)/update-password/page.tsx b/app/(user)/update-password/page.tsx index e63c719..7d79d3e 100644 --- a/app/(user)/update-password/page.tsx +++ b/app/(user)/update-password/page.tsx @@ -4,7 +4,7 @@ import { Metadata } from "next"; import Footer from "@/app/components/layout/Footer"; export const metadata: Metadata = { - title: "Update Password - DevPulse", + title: "Update Password - Devpulse", }; export default async function UpdatePassword() { @@ -14,8 +14,8 @@ export default async function UpdatePassword() {
- DevPulse Logo -

DevPulse

+ Devpulse Logo +

Devpulse

Update your password to keep your account secure. Enter a strong new diff --git a/app/components/dashboard/Navbar.tsx b/app/components/dashboard/Navbar.tsx index 671afa8..dcf062a 100644 --- a/app/components/dashboard/Navbar.tsx +++ b/app/components/dashboard/Navbar.tsx @@ -291,9 +291,9 @@ function Sidebar({ role }: { role: string }) { if (isMobile && !mobileHidden) setMobileHidden(true); }} > - DevPulse + Devpulse {!collapsed && ( - DevPulse + Devpulse )}

@@ -537,7 +537,7 @@ export default function DashboardLayout({ }} aria-label="Show sidebar" > - DevPulse + Devpulse )} diff --git a/app/components/layout/Footer.tsx b/app/components/layout/Footer.tsx index f97a9ce..e7ee6a1 100644 --- a/app/components/layout/Footer.tsx +++ b/app/components/layout/Footer.tsx @@ -7,11 +7,7 @@ export default function Footer() {

- © {new Date().getFullYear()} DevPulse -

-

- Built by{" "} - Hall of Codes + © {new Date().getFullYear()} Devpulse

@@ -22,10 +18,7 @@ export default function Footer() { > Leaderboard - + Flex
-

Open-source project maintained by the DevPulse team.

+ Hall of Codes
diff --git a/app/components/layout/Nav.tsx b/app/components/layout/Nav.tsx index 649fa79..257a044 100644 --- a/app/components/layout/Nav.tsx +++ b/app/components/layout/Nav.tsx @@ -14,8 +14,8 @@ export default async function Nav() { className="flex items-center gap-3 hover:opacity-80 transition" data-aos="fade-down" > - DevPulse Logo - DevPulse + Devpulse Logo + Devpulse {user ? ( diff --git a/app/components/leaderboard/Header.tsx b/app/components/leaderboard/Header.tsx index 279d43d..85fa64a 100644 --- a/app/components/leaderboard/Header.tsx +++ b/app/components/leaderboard/Header.tsx @@ -94,15 +94,15 @@ export default function LeaderboardHeader({
- +
- DevPulse Logo + Devpulse Logo
- +

{leaderboard.name} @@ -116,13 +116,13 @@ export default function LeaderboardHeader({ )}

- {leaderboard.description && leaderboard.description?.length > 0 + {leaderboard.description && leaderboard.description?.length > 0 ? leaderboard.description : `Join ${leaderboard.name} to track your coding metrics, compete with fellow developers, and showcase your engineering skills.`}

- +
diff --git a/app/components/leaderboard/InviteFriendsButton.tsx b/app/components/leaderboard/InviteFriendsButton.tsx index 8bea69b..db8fad4 100644 --- a/app/components/leaderboard/InviteFriendsButton.tsx +++ b/app/components/leaderboard/InviteFriendsButton.tsx @@ -12,8 +12,8 @@ export default function InviteFriendsButton({ joinCode, leaderboardName }: { joi : window.location.href; // fallback const message = leaderboardName - ? `Join my coding leaderboard "${leaderboardName}" on DevPulse!\n\nTrack metrics, compete with fellow developers, and showcase your engineering skills.\n\nJoin here: ${inviteUrl}` - : `Join my coding leaderboard on DevPulse!\n\nJoin here: ${inviteUrl}`; + ? `Join my coding leaderboard "${leaderboardName}" on Devpulse!\n\nTrack metrics, compete with fellow developers, and showcase your engineering skills.\n\nJoin here: ${inviteUrl}` + : `Join my coding leaderboard on Devpulse!\n\nJoin here: ${inviteUrl}`; navigator.clipboard.writeText(message); toast.success("Invite message copied to clipboard!"); diff --git a/app/layout.tsx b/app/layout.tsx index 678db2a..047d1f7 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -23,13 +23,13 @@ export async function generateMetadata(): Promise { const h = await headers(); return { - metadataBase: new URL("https://devpulse-waka.vercel.app"), + metadataBase: new URL("https://devpulse.hallofcodes.org"), title: - "DevPulse - Monitor Your Coding Activity and Compete on Leaderboards", + "Devpulse - Monitor Your Coding Activity and Compete on Leaderboards", description: - "DevPulse is a platform that tracks your coding activity and allows you to compete with other developers on leaderboards. Sign up now to start monitoring your coding habits and see how you stack up against the competition!", + "Devpulse is a platform that tracks your coding activity and allows you to compete with other developers on leaderboards. Sign up now to start monitoring your coding habits and see how you stack up against the competition!", keywords: [ - "DevPulse", + "Devpulse", "coding activity tracker", "developer leaderboards", "WakaTime integration", @@ -41,24 +41,24 @@ export async function generateMetadata(): Promise { "productivity insights", ], alternates: { - canonical: `https://devpulse-waka.vercel.app${h.get("x-pathname")}`, + canonical: `https://devpulse.hallofcodes.org${h.get("x-pathname")}`, types: { - "application/xml": "https://devpulse-waka.vercel.app/sitemap.xml", + "application/xml": "https://devpulse.hallofcodes.org/sitemap.xml", }, }, openGraph: { title: - "DevPulse - Monitor Your Coding Activity and Compete on Leaderboards", + "Devpulse - Monitor Your Coding Activity and Compete on Leaderboards", description: - "DevPulse is a platform that tracks your coding activity and allows you to compete with other developers on leaderboards. Sign up now to start monitoring your coding habits and see how you stack up against the competition!", - url: `https://devpulse-waka.vercel.app${h.get("x-pathname")}`, - siteName: "DevPulse", + "Devpulse is a platform that tracks your coding activity and allows you to compete with other developers on leaderboards. Sign up now to start monitoring your coding habits and see how you stack up against the competition!", + url: `https://devpulse.hallofcodes.org${h.get("x-pathname")}`, + siteName: "Devpulse", images: [ { - url: "https://devpulse-waka.vercel.app/images/devpulse.cover.png", + url: "https://devpulse.hallofcodes.org/images/devpulse.cover.png", width: 1200, height: 630, - alt: "DevPulse Cover Image", + alt: "Devpulse Cover Image", }, ], locale: "en_US", @@ -67,13 +67,13 @@ export async function generateMetadata(): Promise { twitter: { card: "summary_large_image", title: - "DevPulse - Monitor Your Coding Activity and Compete on Leaderboards", + "Devpulse - Monitor Your Coding Activity and Compete on Leaderboards", description: - "DevPulse is a platform that tracks your coding activity and allows you to compete with other developers on leaderboards. Sign up now to start monitoring your coding habits and see how you stack up against the competition!", + "Devpulse is a platform that tracks your coding activity and allows you to compete with other developers on leaderboards. Sign up now to start monitoring your coding habits and see how you stack up against the competition!", images: [ { - url: "https://devpulse-waka.vercel.app/images/devpulse.cover.png", - alt: "DevPulse Cover Image", + url: "https://devpulse.hallofcodes.org/images/devpulse.cover.png", + alt: "Devpulse Cover Image", }, ], }, @@ -106,7 +106,7 @@ export default function RootLayout({ content="9BoujBl0viqXOwAOwv8uJM-JkJo7gDrt_f1ID9NabRI" /> - +

- Thank you for considering contributing to DevPulse! + Thank you for considering contributing to Devpulse! To help maintain the quality, stability, and integrity of our codebase ("Hall of Codes"), please read and follow these guidelines.

@@ -30,7 +30,7 @@ export default function ContributionGuidelines() {

Please reach out to us before modifying any existing design or logic that is currently working or in active use. This ensures we avoid - conflicts and preserve the stability of DevPulse. + conflicts and preserve the stability of Devpulse.

@@ -52,14 +52,14 @@ export default function ContributionGuidelines() { Any PR that modifies existing, working code without prior discussion may not be merged. We reserve the right to reject contributions that conflict with ongoing development or compromise the stability of the - DevPulse. + Devpulse.

4. Protecting the Hall of Codes

- Our codebase represents the core of DevPulse. + Our codebase represents the core of Devpulse. Contributors are expected to respect coding standards, write clean, maintainable code, and document changes clearly. Unauthorized modifications, destructive changes, or attempts to bypass review @@ -68,7 +68,7 @@ export default function ContributionGuidelines() {

- By contributing, you agree to follow these guidelines to keep DevPulse + By contributing, you agree to follow these guidelines to keep Devpulse stable, reliable, and enjoyable for all users.

diff --git a/app/legal/privacy/page.tsx b/app/legal/privacy/page.tsx index c2f9161..881b59e 100644 --- a/app/legal/privacy/page.tsx +++ b/app/legal/privacy/page.tsx @@ -3,9 +3,9 @@ import Nav from "@/app/components/layout/Nav"; import { Metadata } from "next"; export const metadata: Metadata = { - title: "Privacy Policy - DevPulse", + title: "Privacy Policy - Devpulse", description: - "Read our Privacy Policy to understand how we collect, use, and protect your information when you use DevPulse.", + "Read our Privacy Policy to understand how we collect, use, and protect your information when you use Devpulse.", }; export default function Privacy() { @@ -19,10 +19,10 @@ export default function Privacy() {

- This Privacy Policy explains how DevPulse{" "} + This Privacy Policy explains how Devpulse{" "} ("we", "our", or "us") collects, uses, and protects your information when you use - devpulse-waka.vercel.app.{" "} + devpulse.hallofcodes.org.{" "}

@@ -58,7 +58,7 @@ export default function Privacy() {

c. WakaTime API Key

- When you use DevPulse, you may provide your WakaTime API key. This key + When you use Devpulse, you may provide your WakaTime API key. This key is used solely to fetch your coding activity data from the WakaTime API and generate statistics. We do not use this key for any other purpose. diff --git a/app/legal/terms/page.tsx b/app/legal/terms/page.tsx index 5a256f4..6fca3c9 100644 --- a/app/legal/terms/page.tsx +++ b/app/legal/terms/page.tsx @@ -3,9 +3,9 @@ import Nav from "@/app/components/layout/Nav"; import { Metadata } from "next"; export const metadata: Metadata = { - title: "Terms of Service - DevPulse", + title: "Terms of Service - Devpulse", description: - "Read our Terms of Service to understand the rules and guidelines for using DevPulse.", + "Read our Terms of Service to understand the rules and guidelines for using Devpulse.", }; export default function Terms() { @@ -20,9 +20,9 @@ export default function Terms() {

These Terms of Service ("Terms") govern your use of{" "} - DevPulse + Devpulse ("we", "our", or "us") available at{" "} - devpulse-waka.vercel.app. By using this service, you + devpulse.hallofcodes.org. By using this service, you agree to these Terms.

@@ -30,7 +30,7 @@ export default function Terms() { 1. Use of the Service

- DevPulse provides tools to visualize and analyze your coding activity + Devpulse provides tools to visualize and analyze your coding activity using third-party integrations such as WakaTime and GitHub. You agree to use the service only for lawful purposes and in compliance with all applicable laws. @@ -51,7 +51,7 @@ export default function Terms() { 3. Third-Party Services

- DevPulse relies on third-party services, including: + Devpulse relies on third-party services, including: