├── appwrite-gen ├── .gitignore ├── .env.example ├── src │ ├── lib │ │ ├── utils.ts │ │ ├── types.d.ts │ │ └── client.ts │ └── generateSchema.ts └── package.json ├── src ├── app │ ├── icon.png │ ├── favicon.ico │ ├── apple-icon.png │ ├── (support) │ │ ├── contact │ │ │ └── page.tsx │ │ ├── privacy │ │ │ └── layout.tsx │ │ └── terms │ │ │ └── layout.tsx │ ├── contribute │ │ └── page.tsx │ ├── [others] │ │ ├── page.css │ │ └── page.tsx │ ├── providers.tsx │ ├── user │ │ ├── bookmarks │ │ │ └── page.tsx │ │ ├── [userId] │ │ │ └── page.tsx │ │ └── layout.tsx │ ├── (auth) │ │ ├── login │ │ │ ├── page.tsx │ │ │ └── layout.tsx │ │ ├── forgot │ │ │ ├── page.tsx │ │ │ └── layout.tsx │ │ ├── register │ │ │ ├── page.tsx │ │ │ └── layout.tsx │ │ ├── updatepassword │ │ │ ├── page.tsx │ │ │ └── layout.tsx │ │ ├── verify │ │ │ ├── layout.tsx │ │ │ ├── loading.tsx │ │ │ └── page.tsx │ │ └── layout.tsx │ ├── feed │ │ ├── page.tsx │ │ └── loading.tsx │ ├── page.tsx │ ├── api │ │ └── send │ │ │ └── route.ts │ ├── loading.tsx │ ├── post │ │ └── [id] │ │ │ └── page.tsx │ └── layout.tsx ├── components │ ├── core │ │ ├── contributionSections │ │ │ ├── index.tsx │ │ │ └── HowToFork.tsx │ │ ├── blob │ │ │ └── index.tsx │ │ ├── cursor │ │ │ ├── cursorTrailHandler.tsx │ │ │ └── cursorTrail.tsx │ │ ├── supportHeader │ │ │ └── index.tsx │ │ ├── buttons │ │ │ └── index.tsx │ │ ├── posts │ │ │ └── index.tsx │ │ ├── themeButton │ │ │ └── index.tsx │ │ ├── comment │ │ │ └── index.tsx │ │ ├── trendingFeed │ │ │ └── index.tsx │ │ ├── newsletter │ │ │ └── index.tsx │ │ ├── footer │ │ │ └── index.tsx │ │ └── colorPicker │ │ │ └── index.tsx │ ├── ProgressBar │ │ └── index.tsx │ ├── pages │ │ ├── EmailTemplate │ │ │ └── index.tsx │ │ ├── feed │ │ │ ├── loading.tsx │ │ │ └── index.tsx │ │ ├── user │ │ │ ├── bookmark │ │ │ │ └── index.tsx │ │ │ └── userPosts │ │ │ │ └── index.tsx │ │ ├── auth │ │ │ ├── verification │ │ │ │ └── index.tsx │ │ │ └── forgot │ │ │ │ └── index.tsx │ │ ├── contribute │ │ │ └── index.tsx │ │ ├── post │ │ │ └── index.tsx │ │ └── contact │ │ │ └── index.tsx │ ├── ScrollToTop │ │ └── scrolltotop.tsx │ └── Editor │ │ └── EditorMenuBar.tsx ├── redux │ ├── ReduxProvider.tsx │ ├── store.ts │ └── reducers │ │ ├── userReducer.ts │ │ ├── bookmarkReducer.ts │ │ ├── authReducer.ts │ │ ├── cursorReducer.ts │ │ └── postsReducer.ts ├── helper │ ├── useLenis.ts │ ├── leniswrapper.tsx │ ├── isCtrlEnter.ts │ ├── getGithubStars.ts │ ├── avatarGenerator.ts │ ├── toastify.ts │ ├── postDisplayTimeFormatter.ts │ └── startTour.ts ├── types │ ├── auth.d.ts │ └── index.d.ts ├── middleware.ts ├── styles │ ├── shepherdStyles.css │ └── globals.css ├── backend │ ├── appwrite.config.ts │ ├── trendingPosts.dummy.ts │ ├── updateProfile.api.ts │ ├── bookmarks.api.ts │ └── posts.api.ts └── logo.svg ├── .github ├── assets │ ├── fork.png │ ├── intro.png │ ├── gssoc24.png │ ├── iwoc-banner.png │ ├── swoc-banner.png │ ├── palettegram-cover.png │ └── hacktoberfest-banner.png ├── dependabot.yml ├── workflows │ ├── labeler.yml │ ├── author-assign.yml │ ├── pr-title-checker.yml │ ├── auto-comment-pr-merge.yml │ ├── autocomment-iss-close.yml │ ├── close-old-pr.yml │ ├── greetings.yml │ └── close-on-merge.yml ├── labeler.yml ├── PULL_REQUEST_TEMPLATE.md ├── pr-title-checker.json ├── funding.yml └── ISSUE_TEMPLATE │ ├── feature.yml │ ├── docs.yml │ ├── styles.yml │ └── bug.yml ├── public ├── assets │ ├── 404.png │ ├── img-1.png │ ├── img-2.png │ ├── img-3.png │ ├── logo.png │ ├── user.png │ ├── header.png │ ├── meta-image.png │ ├── pinkCover.jpg │ ├── contribute │ │ ├── fork.png │ │ ├── push.png │ │ ├── cd_pal.png │ │ ├── commit.png │ │ ├── other.png │ │ ├── scopes.jpg │ │ ├── stage.png │ │ ├── api-key.jpg │ │ ├── clone_cli.png │ │ ├── copy-api.jpg │ │ ├── hostname.jpg │ │ ├── new-proj.jpg │ │ ├── proj-id.jpg │ │ ├── proj-name.jpg │ │ ├── pull_req.png │ │ ├── web-proj.jpg │ │ ├── add_origin.png │ │ ├── api-button.jpg │ │ ├── clone_link.png │ │ ├── install_dep.png │ │ ├── add_upstream.png │ │ ├── commit_detail.png │ │ ├── create_branch.png │ │ ├── proj-setting.jpg │ │ └── pull_upstream.png │ ├── meta-image-old.png │ ├── palettegram-for.png │ └── icons │ │ ├── google.svg │ │ └── github.svg └── robots.txt ├── .husky ├── commit-msg └── pre-commit ├── postcss.config.js ├── .eslintrc.json ├── .lintstagedrc ├── .prettierrc.json ├── docker-compose.yml ├── .dockerignore ├── docker-compose.dev.yml ├── Dockerfile ├── .gitignore ├── .env.example ├── docs ├── resend.md ├── commitlint.md ├── appwrite.md ├── setup.md ├── git.md ├── gssoc.md ├── iwoc.md └── swoc.md ├── next.config.js ├── tsconfig.json ├── tailwind.config.js ├── LICENSE ├── package.json ├── LEARN.md ├── commitlint.config.js ├── CONTRIBUTING.md └── CODE_OF_CONDUCT.md /appwrite-gen/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | .env 3 | .env.local 4 | -------------------------------------------------------------------------------- /src/app/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/src/app/icon.png -------------------------------------------------------------------------------- /src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/src/app/favicon.ico -------------------------------------------------------------------------------- /.github/assets/fork.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/.github/assets/fork.png -------------------------------------------------------------------------------- /public/assets/404.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/404.png -------------------------------------------------------------------------------- /public/assets/img-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/img-1.png -------------------------------------------------------------------------------- /public/assets/img-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/img-2.png -------------------------------------------------------------------------------- /public/assets/img-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/img-3.png -------------------------------------------------------------------------------- /public/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/logo.png -------------------------------------------------------------------------------- /public/assets/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/user.png -------------------------------------------------------------------------------- /src/app/apple-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/src/app/apple-icon.png -------------------------------------------------------------------------------- /.github/assets/intro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/.github/assets/intro.png -------------------------------------------------------------------------------- /public/assets/header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/header.png -------------------------------------------------------------------------------- /.github/assets/gssoc24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/.github/assets/gssoc24.png -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | npx --no -- commitlint --edit ${1} -------------------------------------------------------------------------------- /public/assets/meta-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/meta-image.png -------------------------------------------------------------------------------- /public/assets/pinkCover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/pinkCover.jpg -------------------------------------------------------------------------------- /.github/assets/iwoc-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/.github/assets/iwoc-banner.png -------------------------------------------------------------------------------- /.github/assets/swoc-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/.github/assets/swoc-banner.png -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /public/assets/contribute/fork.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/fork.png -------------------------------------------------------------------------------- /public/assets/contribute/push.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/push.png -------------------------------------------------------------------------------- /public/assets/meta-image-old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/meta-image-old.png -------------------------------------------------------------------------------- /public/assets/palettegram-for.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/palettegram-for.png -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | # npm test 5 | npx lint-staged --concurrent false -------------------------------------------------------------------------------- /public/assets/contribute/cd_pal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/cd_pal.png -------------------------------------------------------------------------------- /public/assets/contribute/commit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/commit.png -------------------------------------------------------------------------------- /public/assets/contribute/other.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/other.png -------------------------------------------------------------------------------- /public/assets/contribute/scopes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/scopes.jpg -------------------------------------------------------------------------------- /public/assets/contribute/stage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/stage.png -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals", 3 | "rules": { 4 | "react/no-unescaped-entities": "off" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /.github/assets/palettegram-cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/.github/assets/palettegram-cover.png -------------------------------------------------------------------------------- /public/assets/contribute/api-key.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/api-key.jpg -------------------------------------------------------------------------------- /public/assets/contribute/clone_cli.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/clone_cli.png -------------------------------------------------------------------------------- /public/assets/contribute/copy-api.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/copy-api.jpg -------------------------------------------------------------------------------- /public/assets/contribute/hostname.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/hostname.jpg -------------------------------------------------------------------------------- /public/assets/contribute/new-proj.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/new-proj.jpg -------------------------------------------------------------------------------- /public/assets/contribute/proj-id.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/proj-id.jpg -------------------------------------------------------------------------------- /public/assets/contribute/proj-name.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/proj-name.jpg -------------------------------------------------------------------------------- /public/assets/contribute/pull_req.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/pull_req.png -------------------------------------------------------------------------------- /public/assets/contribute/web-proj.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/web-proj.jpg -------------------------------------------------------------------------------- /.github/assets/hacktoberfest-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/.github/assets/hacktoberfest-banner.png -------------------------------------------------------------------------------- /public/assets/contribute/add_origin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/add_origin.png -------------------------------------------------------------------------------- /public/assets/contribute/api-button.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/api-button.jpg -------------------------------------------------------------------------------- /public/assets/contribute/clone_link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/clone_link.png -------------------------------------------------------------------------------- /public/assets/contribute/install_dep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/install_dep.png -------------------------------------------------------------------------------- /public/assets/contribute/add_upstream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/add_upstream.png -------------------------------------------------------------------------------- /public/assets/contribute/commit_detail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/commit_detail.png -------------------------------------------------------------------------------- /public/assets/contribute/create_branch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/create_branch.png -------------------------------------------------------------------------------- /public/assets/contribute/proj-setting.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/proj-setting.jpg -------------------------------------------------------------------------------- /public/assets/contribute/pull_upstream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sanchitbajaj02/palettegram/HEAD/public/assets/contribute/pull_upstream.png -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "yarn" 4 | directory: "/" 5 | schedule: 6 | interval: "weekly" 7 | -------------------------------------------------------------------------------- /appwrite-gen/.env.example: -------------------------------------------------------------------------------- 1 | PROJECT_ID="Entire your project ID from the project that you will setup" 2 | PROJECT_API_KEY="Enter the API credentials of your project instance" -------------------------------------------------------------------------------- /src/app/(support)/contact/page.tsx: -------------------------------------------------------------------------------- 1 | import Contact from "@/components/pages/contact"; 2 | 3 | export default function ContactPage() { 4 | return ; 5 | } 6 | -------------------------------------------------------------------------------- /src/app/contribute/page.tsx: -------------------------------------------------------------------------------- 1 | import Contribute from "@/components/pages/contribute"; 2 | 3 | export default function contribute() { 4 | return ; 5 | } 6 | -------------------------------------------------------------------------------- /.lintstagedrc: -------------------------------------------------------------------------------- 1 | { 2 | "*.{js, jsx, ts, tsx}": [ 3 | "prettier --write", 4 | "eslint --fix", 5 | "eslint" 6 | ], 7 | "*.json": [ 8 | "prettier --write" 9 | ] 10 | } -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "trailingComma": "all", 3 | "tabWidth": 2, 4 | "semi": true, 5 | "singleQuote": false, 6 | "bracketSpacing": true, 7 | "endOfLine": "auto", 8 | "printWidth": 100 9 | } -------------------------------------------------------------------------------- /src/components/core/contributionSections/index.tsx: -------------------------------------------------------------------------------- 1 | export { default as Forking } from "./HowToFork"; 2 | export { default as AppwriteSetup } from "./HowToSetup_Appwrite"; 3 | export { default as DevSetup } from "./HowToSetup_dev"; 4 | -------------------------------------------------------------------------------- /src/app/[others]/page.css: -------------------------------------------------------------------------------- 1 | .fluid { 2 | animation: updown 1.5s ease-in-out infinite alternate; 3 | } 4 | 5 | @keyframes updown { 6 | from { 7 | transform: translateY(0px); 8 | } 9 | to { 10 | transform: translateY(10px); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /.github/workflows/labeler.yml: -------------------------------------------------------------------------------- 1 | name: 'Labeler' 2 | on: 3 | - pull_request_target 4 | 5 | jobs: 6 | triage: 7 | permissions: 8 | contents: read 9 | pull-requests: write 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/labeler@v4 -------------------------------------------------------------------------------- /src/app/providers.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { ThemeProvider } from "next-themes"; 4 | import { ReactNode } from "react"; 5 | 6 | export function Providers({ children }: { children: ReactNode }) { 7 | return {children}; 8 | } 9 | -------------------------------------------------------------------------------- /src/redux/ReduxProvider.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | import { Provider } from "react-redux"; 3 | import { store } from "./store"; 4 | 5 | export default function ReduxProvider({ children }: { children: React.ReactNode }) { 6 | return {children}; 7 | } 8 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | # See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file 2 | # 3 | # To ban all spiders from the entire site uncomment the next two lines: 4 | 5 | User-agent: * 6 | Disallow: /admin 7 | 8 | Sitemap: https://www.palettegram.vercel.app/sitemap.xml -------------------------------------------------------------------------------- /src/app/user/bookmarks/page.tsx: -------------------------------------------------------------------------------- 1 | import { Suspense } from "react"; 2 | import Loader from "@/app/loading"; 3 | import UserBookmark from "@/components/pages/user/bookmark"; 4 | 5 | export default function Bookmarks() { 6 | return ( 7 | <> 8 | 9 | 10 | ); 11 | } 12 | -------------------------------------------------------------------------------- /appwrite-gen/src/lib/utils.ts: -------------------------------------------------------------------------------- 1 | import { readFileSync } from "fs"; 2 | import { Data, Schema } from "./types"; 3 | 4 | export const getSchemaFromFile = () => { 5 | const fileContent = readFileSync("schema.json", { encoding: "utf-8" }); 6 | const schema: Schema = JSON.parse(fileContent); 7 | return schema; 8 | }; 9 | -------------------------------------------------------------------------------- /appwrite-gen/src/lib/types.d.ts: -------------------------------------------------------------------------------- 1 | import { Models } from "node-appwrite"; 2 | 3 | export type Schema = { 4 | databases: Models.Database[]; 5 | collections: Models.Collection[]; 6 | buckets: Models.Bucket[]; 7 | }; 8 | 9 | export type Data = { 10 | documents: Models.Document[]; 11 | files: Models.File[]; 12 | }; 13 | -------------------------------------------------------------------------------- /src/app/(auth)/login/page.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import LoginComponent from "@/components/pages/auth/login"; 3 | import Footer from "@/components/core/footer"; 4 | 5 | export default function LoginPage() { 6 | return ( 7 | <> 8 | 9 |