├── .github └── workflows │ └── railway.yml ├── LICENSE ├── README.md └── packages ├── api ├── .gitignore ├── Procfile ├── package.json ├── prisma │ ├── migrations │ │ ├── 20211226131743_init │ │ │ └── migration.sql │ │ ├── 20211226204637_memory_table │ │ │ └── migration.sql │ │ ├── 20211226215333_unique_constraints │ │ │ └── migration.sql │ │ ├── 20211226234009_remove_unique_constraints │ │ │ └── migration.sql │ │ ├── 20211228173037_snapchat_link │ │ │ └── migration.sql │ │ ├── 20220101201604_num_memories │ │ │ └── migration.sql │ │ ├── 20220102205025_beta_user_field │ │ │ └── migration.sql │ │ ├── 20220104201318_add_download_status_fields_to_user │ │ │ └── migration.sql │ │ ├── 20220105001431_add_memories_folder_id_to_user │ │ │ └── migration.sql │ │ ├── 20220105003706_remove_memories_filed_from_users │ │ │ └── migration.sql │ │ ├── 20220105004341_add_memories_failed_and_total_to_user │ │ │ └── migration.sql │ │ ├── 20220105014122_job_id_to_user │ │ │ └── migration.sql │ │ ├── 20220107030132_add_error_string_to_user │ │ │ └── migration.sql │ │ └── migration_lock.toml │ └── schema.prisma ├── src │ ├── lib │ │ ├── auth │ │ │ └── session.ts │ │ ├── connections │ │ │ ├── aws.ts │ │ │ ├── prisma.ts │ │ │ └── ses.ts │ │ ├── constants.ts │ │ ├── jobs │ │ │ ├── config.ts │ │ │ └── downloadQueue.ts │ │ ├── log.ts │ │ ├── memories.ts │ │ ├── snapsaver.ts │ │ ├── storage │ │ │ └── google-drive.ts │ │ └── util.ts │ ├── routes │ │ ├── @me │ │ │ ├── beta.ts │ │ │ └── memories.ts │ │ ├── auth │ │ │ └── google │ │ │ │ ├── @me.ts │ │ │ │ ├── callback.ts │ │ │ │ └── logout.ts │ │ └── memories │ │ │ └── start.ts │ └── server.ts ├── tsconfig.json ├── types.d.ts └── yarn.lock └── client ├── .eslintrc.json ├── .gitignore ├── README.md ├── components ├── Container.tsx ├── EnterBeta.tsx ├── Footer.tsx ├── Header.tsx ├── Instructions.tsx ├── Link.tsx ├── SEO.tsx ├── Tooltip.tsx ├── VideoEmbed.tsx ├── icons │ └── Google.tsx └── screens │ ├── LoadingScreen.tsx │ └── LoggedInScreen.tsx ├── lib ├── constants.ts └── fetcher.ts ├── next-env.d.ts ├── next.config.js ├── package.json ├── pages ├── _app.tsx ├── about.tsx ├── index.tsx └── privacy.tsx ├── postcss.config.js ├── public ├── assets │ ├── addis.png │ ├── banner.png │ ├── bereket.png │ ├── favicon.png │ ├── folder_structure.jpg │ └── snapsaver-logo.png ├── favicon.ico └── vercel.svg ├── styles └── globals.css ├── tailwind.config.js ├── tsconfig.json └── yarn.lock /.github/workflows/railway.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/.github/workflows/railway.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # snapsaver 2 | 👻 Download Snapchat memories 3 | -------------------------------------------------------------------------------- /packages/api/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /images 3 | .env 4 | yarn-error.log 5 | /temp 6 | /data 7 | -------------------------------------------------------------------------------- /packages/api/Procfile: -------------------------------------------------------------------------------- 1 | web: yarn start -------------------------------------------------------------------------------- /packages/api/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/package.json -------------------------------------------------------------------------------- /packages/api/prisma/migrations/20211226131743_init/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/prisma/migrations/20211226131743_init/migration.sql -------------------------------------------------------------------------------- /packages/api/prisma/migrations/20211226204637_memory_table/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/prisma/migrations/20211226204637_memory_table/migration.sql -------------------------------------------------------------------------------- /packages/api/prisma/migrations/20211226215333_unique_constraints/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/prisma/migrations/20211226215333_unique_constraints/migration.sql -------------------------------------------------------------------------------- /packages/api/prisma/migrations/20211226234009_remove_unique_constraints/migration.sql: -------------------------------------------------------------------------------- 1 | -- DropIndex 2 | DROP INDEX "Memory_date_type_key"; 3 | -------------------------------------------------------------------------------- /packages/api/prisma/migrations/20211228173037_snapchat_link/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/prisma/migrations/20211228173037_snapchat_link/migration.sql -------------------------------------------------------------------------------- /packages/api/prisma/migrations/20220101201604_num_memories/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/prisma/migrations/20220101201604_num_memories/migration.sql -------------------------------------------------------------------------------- /packages/api/prisma/migrations/20220102205025_beta_user_field/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/prisma/migrations/20220102205025_beta_user_field/migration.sql -------------------------------------------------------------------------------- /packages/api/prisma/migrations/20220104201318_add_download_status_fields_to_user/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/prisma/migrations/20220104201318_add_download_status_fields_to_user/migration.sql -------------------------------------------------------------------------------- /packages/api/prisma/migrations/20220105001431_add_memories_folder_id_to_user/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/prisma/migrations/20220105001431_add_memories_folder_id_to_user/migration.sql -------------------------------------------------------------------------------- /packages/api/prisma/migrations/20220105003706_remove_memories_filed_from_users/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/prisma/migrations/20220105003706_remove_memories_filed_from_users/migration.sql -------------------------------------------------------------------------------- /packages/api/prisma/migrations/20220105004341_add_memories_failed_and_total_to_user/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/prisma/migrations/20220105004341_add_memories_failed_and_total_to_user/migration.sql -------------------------------------------------------------------------------- /packages/api/prisma/migrations/20220105014122_job_id_to_user/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/prisma/migrations/20220105014122_job_id_to_user/migration.sql -------------------------------------------------------------------------------- /packages/api/prisma/migrations/20220107030132_add_error_string_to_user/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/prisma/migrations/20220107030132_add_error_string_to_user/migration.sql -------------------------------------------------------------------------------- /packages/api/prisma/migrations/migration_lock.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/prisma/migrations/migration_lock.toml -------------------------------------------------------------------------------- /packages/api/prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/prisma/schema.prisma -------------------------------------------------------------------------------- /packages/api/src/lib/auth/session.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/src/lib/auth/session.ts -------------------------------------------------------------------------------- /packages/api/src/lib/connections/aws.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/src/lib/connections/aws.ts -------------------------------------------------------------------------------- /packages/api/src/lib/connections/prisma.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/src/lib/connections/prisma.ts -------------------------------------------------------------------------------- /packages/api/src/lib/connections/ses.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/src/lib/connections/ses.ts -------------------------------------------------------------------------------- /packages/api/src/lib/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/src/lib/constants.ts -------------------------------------------------------------------------------- /packages/api/src/lib/jobs/config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/src/lib/jobs/config.ts -------------------------------------------------------------------------------- /packages/api/src/lib/jobs/downloadQueue.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/src/lib/jobs/downloadQueue.ts -------------------------------------------------------------------------------- /packages/api/src/lib/log.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/src/lib/log.ts -------------------------------------------------------------------------------- /packages/api/src/lib/memories.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/src/lib/memories.ts -------------------------------------------------------------------------------- /packages/api/src/lib/snapsaver.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/src/lib/snapsaver.ts -------------------------------------------------------------------------------- /packages/api/src/lib/storage/google-drive.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/src/lib/storage/google-drive.ts -------------------------------------------------------------------------------- /packages/api/src/lib/util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/src/lib/util.ts -------------------------------------------------------------------------------- /packages/api/src/routes/@me/beta.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/src/routes/@me/beta.ts -------------------------------------------------------------------------------- /packages/api/src/routes/@me/memories.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/src/routes/@me/memories.ts -------------------------------------------------------------------------------- /packages/api/src/routes/auth/google/@me.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/src/routes/auth/google/@me.ts -------------------------------------------------------------------------------- /packages/api/src/routes/auth/google/callback.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/src/routes/auth/google/callback.ts -------------------------------------------------------------------------------- /packages/api/src/routes/auth/google/logout.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/src/routes/auth/google/logout.ts -------------------------------------------------------------------------------- /packages/api/src/routes/memories/start.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/src/routes/memories/start.ts -------------------------------------------------------------------------------- /packages/api/src/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/src/server.ts -------------------------------------------------------------------------------- /packages/api/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/tsconfig.json -------------------------------------------------------------------------------- /packages/api/types.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/types.d.ts -------------------------------------------------------------------------------- /packages/api/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/api/yarn.lock -------------------------------------------------------------------------------- /packages/client/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /packages/client/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/.gitignore -------------------------------------------------------------------------------- /packages/client/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/README.md -------------------------------------------------------------------------------- /packages/client/components/Container.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/components/Container.tsx -------------------------------------------------------------------------------- /packages/client/components/EnterBeta.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/components/EnterBeta.tsx -------------------------------------------------------------------------------- /packages/client/components/Footer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/components/Footer.tsx -------------------------------------------------------------------------------- /packages/client/components/Header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/components/Header.tsx -------------------------------------------------------------------------------- /packages/client/components/Instructions.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/components/Instructions.tsx -------------------------------------------------------------------------------- /packages/client/components/Link.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/components/Link.tsx -------------------------------------------------------------------------------- /packages/client/components/SEO.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/components/SEO.tsx -------------------------------------------------------------------------------- /packages/client/components/Tooltip.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/components/Tooltip.tsx -------------------------------------------------------------------------------- /packages/client/components/VideoEmbed.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/components/VideoEmbed.tsx -------------------------------------------------------------------------------- /packages/client/components/icons/Google.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/components/icons/Google.tsx -------------------------------------------------------------------------------- /packages/client/components/screens/LoadingScreen.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/components/screens/LoadingScreen.tsx -------------------------------------------------------------------------------- /packages/client/components/screens/LoggedInScreen.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/components/screens/LoggedInScreen.tsx -------------------------------------------------------------------------------- /packages/client/lib/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/lib/constants.ts -------------------------------------------------------------------------------- /packages/client/lib/fetcher.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/lib/fetcher.ts -------------------------------------------------------------------------------- /packages/client/next-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/next-env.d.ts -------------------------------------------------------------------------------- /packages/client/next.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/next.config.js -------------------------------------------------------------------------------- /packages/client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/package.json -------------------------------------------------------------------------------- /packages/client/pages/_app.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/pages/_app.tsx -------------------------------------------------------------------------------- /packages/client/pages/about.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/pages/about.tsx -------------------------------------------------------------------------------- /packages/client/pages/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/pages/index.tsx -------------------------------------------------------------------------------- /packages/client/pages/privacy.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/pages/privacy.tsx -------------------------------------------------------------------------------- /packages/client/postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/postcss.config.js -------------------------------------------------------------------------------- /packages/client/public/assets/addis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/public/assets/addis.png -------------------------------------------------------------------------------- /packages/client/public/assets/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/public/assets/banner.png -------------------------------------------------------------------------------- /packages/client/public/assets/bereket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/public/assets/bereket.png -------------------------------------------------------------------------------- /packages/client/public/assets/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/public/assets/favicon.png -------------------------------------------------------------------------------- /packages/client/public/assets/folder_structure.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/public/assets/folder_structure.jpg -------------------------------------------------------------------------------- /packages/client/public/assets/snapsaver-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/public/assets/snapsaver-logo.png -------------------------------------------------------------------------------- /packages/client/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/public/favicon.ico -------------------------------------------------------------------------------- /packages/client/public/vercel.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/public/vercel.svg -------------------------------------------------------------------------------- /packages/client/styles/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/styles/globals.css -------------------------------------------------------------------------------- /packages/client/tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/tailwind.config.js -------------------------------------------------------------------------------- /packages/client/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/tsconfig.json -------------------------------------------------------------------------------- /packages/client/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heybereket/snapsaver/HEAD/packages/client/yarn.lock --------------------------------------------------------------------------------