├── backend-old
├── .gitattributes
├── src
│ ├── main
│ │ ├── resources
│ │ │ ├── application.yml
│ │ │ └── application-local.yml
│ │ └── java
│ │ │ └── dev
│ │ │ └── amitwani
│ │ │ └── githubwrapped
│ │ │ ├── dto
│ │ │ ├── graphql
│ │ │ │ ├── GraphQLRequest.java
│ │ │ │ ├── GitHubContributionStats.java
│ │ │ │ ├── GitHubPinnedItems.java
│ │ │ │ └── GitHubRepositoryStats.java
│ │ │ ├── ResponseDTO.java
│ │ │ ├── AllUserDTO.java
│ │ │ ├── StatsDTO.java
│ │ │ └── TopUserDTO.java
│ │ │ ├── GithubWrappedApplication.java
│ │ │ ├── repository
│ │ │ ├── GitHubStatsRepository.java
│ │ │ └── GitHubUserRepository.java
│ │ │ ├── controller
│ │ │ ├── HealthController.java
│ │ │ └── StatsController.java
│ │ │ ├── model
│ │ │ ├── GitHubUser.java
│ │ │ └── GitHubStats.java
│ │ │ ├── auth
│ │ │ └── AuthFilter.java
│ │ │ └── service
│ │ │ ├── StatsService.java
│ │ │ └── GitHubService.java
│ └── test
│ │ └── java
│ │ └── dev
│ │ └── amitwani
│ │ └── githubwrapped
│ │ └── GithubWrappedApplicationTests.java
├── deployments
│ └── application.yml
├── Dockerfile
├── .gitignore
├── .dockerignore
├── fly.toml
├── .mvn
│ └── wrapper
│ │ └── maven-wrapper.properties
├── pom.xml
├── mvnw.cmd
└── mvnw
├── frontend
├── .eslintrc.json
├── app
│ ├── favicon.ico
│ ├── fonts
│ │ └── GeistMonoVF.woff
│ ├── [username]
│ │ ├── layout.tsx
│ │ └── loading.tsx
│ ├── actions
│ │ ├── all-user-action.ts
│ │ ├── top-user-action.ts
│ │ └── stats-action.ts
│ ├── about
│ │ ├── layout.tsx
│ │ └── page.tsx
│ ├── api
│ │ ├── stats
│ │ │ ├── all
│ │ │ │ └── route.ts
│ │ │ ├── top
│ │ │ │ └── route.ts
│ │ │ └── [username]
│ │ │ │ └── route.ts
│ │ ├── ai
│ │ │ └── route.ts
│ │ └── [username]
│ │ │ └── og
│ │ │ └── route.js
│ ├── sitemap.ts
│ ├── globals.css
│ ├── layout.tsx
│ └── page.tsx
├── public
│ ├── robots.txt
│ └── github-wrapped-og.png
├── lib
│ ├── constants.ts
│ ├── utils.ts
│ ├── mongodb.ts
│ ├── umami.ts
│ ├── models
│ │ ├── User.ts
│ │ └── Stats.ts
│ ├── services
│ │ └── stats-service.ts
│ └── github.ts
├── postcss.config.mjs
├── types
│ ├── topUser.ts
│ ├── ai.ts
│ └── stats.ts
├── components.json
├── next.config.mjs
├── .gitignore
├── components
│ ├── donate-button.tsx
│ ├── umami-identify.tsx
│ ├── ui
│ │ ├── input.tsx
│ │ ├── button.tsx
│ │ ├── card.tsx
│ │ ├── toaster.tsx
│ │ ├── wavy-background.tsx
│ │ └── chart.tsx
│ ├── navbar.tsx
│ ├── footer.tsx
│ ├── social-share.tsx
│ ├── save-image.tsx
│ ├── ai-analysis.tsx
│ ├── profile-header.tsx
│ └── contribution-breakdown.tsx
├── tsconfig.json
├── package.json
├── README.md
└── tailwind.config.ts
├── LICENSE
└── README.md
/backend-old/.gitattributes:
--------------------------------------------------------------------------------
1 | /mvnw text eol=lf
2 | *.cmd text eol=crlf
3 |
--------------------------------------------------------------------------------
/frontend/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": ["next/core-web-vitals", "next/typescript"]
3 | }
4 |
--------------------------------------------------------------------------------
/frontend/app/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mtwn105/GitHubWrapped/HEAD/frontend/app/favicon.ico
--------------------------------------------------------------------------------
/frontend/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-Agent: *
2 | Allow: /
3 |
4 | Sitemap: https://githubwrapped.xyz/sitemap.xml
--------------------------------------------------------------------------------
/frontend/app/fonts/GeistMonoVF.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mtwn105/GitHubWrapped/HEAD/frontend/app/fonts/GeistMonoVF.woff
--------------------------------------------------------------------------------
/frontend/public/github-wrapped-og.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mtwn105/GitHubWrapped/HEAD/frontend/public/github-wrapped-og.png
--------------------------------------------------------------------------------
/backend-old/src/main/resources/application.yml:
--------------------------------------------------------------------------------
1 | server:
2 | port: 9009
3 |
4 | spring:
5 | application:
6 | name: GitHub-Wrapped
7 |
8 |
--------------------------------------------------------------------------------
/frontend/lib/constants.ts:
--------------------------------------------------------------------------------
1 | export const YEAR = process.env.NEXT_PUBLIC_YEAR || "2025";
2 | export const YEAR_START = `${YEAR}-01-01T00:00:00Z`;
3 | export const YEAR_END = `${YEAR}-12-31T23:59:59Z`;
--------------------------------------------------------------------------------
/frontend/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | /** @type {import('postcss-load-config').Config} */
2 | const config = {
3 | plugins: {
4 | tailwindcss: {},
5 | },
6 | };
7 |
8 | export default config;
9 |
--------------------------------------------------------------------------------
/frontend/lib/utils.ts:
--------------------------------------------------------------------------------
1 | import { clsx, type ClassValue } from "clsx"
2 | import { twMerge } from "tailwind-merge"
3 |
4 | export function cn(...inputs: ClassValue[]) {
5 | return twMerge(clsx(inputs))
6 | }
7 |
--------------------------------------------------------------------------------
/frontend/app/[username]/layout.tsx:
--------------------------------------------------------------------------------
1 | import Navbar from "@/components/navbar";
2 |
3 | export default function Layout({ children }: { children: React.ReactNode }) {
4 | return (
5 | <>
6 |
7 | Created by{" "} 8 | 13 | Amit Wani 14 | {" "} 15 | ( 16 | 21 | X 22 | 23 | {" / "} 24 | 29 | GitHub 30 | 31 | ) 32 |
33 |{error}
75 | ) : analysis ? ( 76 |16 | Your personalized year in review for GitHub contributions and coding 17 | activity. 18 |
19 |28 | GitHub Wrapped provides developers with beautiful, shareable 29 | insights into their coding journey throughout {YEAR}. See your 30 | contributions, most active repositories, favorite languages, and 31 | more - all in one place. 32 |
33 |49 | GitHub Wrapped is open source and available on GitHub. 50 | Contributions are welcome! 51 |
52 |56 | {user.bio} 57 |
58 | )} 59 |