├── .gitignore ├── LICENSE ├── README.md ├── form-events ├── .gitignore ├── README.md ├── UNUSED_webpack.config.js ├── bsconfig.json ├── index.html ├── indexProduction.html ├── package-lock.json ├── package.json ├── src │ ├── ExampleStyles.bs.js │ ├── ExampleStyles.re │ ├── Form │ │ ├── Form.bs.js │ │ └── Form.re │ ├── Index.bs.js │ └── Index.re └── watcher.js ├── http-video-stream ├── README.md ├── bigbuck.mp4 ├── index.html ├── index.js ├── package-lock.json └── package.json ├── live-stream-part-1 ├── README.md ├── auth │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ └── server.js ├── docker-compose.yml └── rtmp │ ├── Dockerfile │ └── nginx.conf ├── live-stream-part-2 ├── README.md ├── auth │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ └── server.js ├── docker-compose.yml └── rtmp │ ├── Dockerfile │ ├── index.html │ └── nginx.conf ├── live-stream-part-3 ├── README.md ├── auth │ ├── Dockerfile │ ├── package-lock.json │ ├── package.json │ └── server.js ├── docker-compose.yml └── rtmp │ ├── Dockerfile │ ├── index.html │ └── nginx.conf ├── mongo-http-video ├── README.md ├── docker-compose.yml ├── index.html ├── index.js ├── package-lock.json ├── package.json └── typings │ └── jsconfig.json ├── multi-quality-video-player ├── .eslintrc.json ├── .gitignore ├── README.md ├── components │ ├── InfiniteLoading.svg │ └── VideoPlayer.tsx ├── init-db.js ├── lib │ ├── db.ts │ └── ffmpeg.ts ├── next.config.js ├── package-lock.json ├── package.json ├── pages │ ├── _app.tsx │ ├── api │ │ ├── upload.ts │ │ └── videos.ts │ ├── index.tsx │ └── upload.tsx ├── styles │ ├── Home.module.css │ ├── Upload.module.css │ ├── VideoPlayer.module.css │ └── globals.css └── tsconfig.json └── sql-offset ├── Twitter_ERD.png ├── date_pagination.py ├── id_pagination.py ├── offset_pagination.py ├── requirements.txt ├── schema.sql ├── seed.py └── timeline.py /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/README.md -------------------------------------------------------------------------------- /form-events/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/form-events/.gitignore -------------------------------------------------------------------------------- /form-events/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/form-events/README.md -------------------------------------------------------------------------------- /form-events/UNUSED_webpack.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/form-events/UNUSED_webpack.config.js -------------------------------------------------------------------------------- /form-events/bsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/form-events/bsconfig.json -------------------------------------------------------------------------------- /form-events/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/form-events/index.html -------------------------------------------------------------------------------- /form-events/indexProduction.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/form-events/indexProduction.html -------------------------------------------------------------------------------- /form-events/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/form-events/package-lock.json -------------------------------------------------------------------------------- /form-events/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/form-events/package.json -------------------------------------------------------------------------------- /form-events/src/ExampleStyles.bs.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/form-events/src/ExampleStyles.bs.js -------------------------------------------------------------------------------- /form-events/src/ExampleStyles.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/form-events/src/ExampleStyles.re -------------------------------------------------------------------------------- /form-events/src/Form/Form.bs.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/form-events/src/Form/Form.bs.js -------------------------------------------------------------------------------- /form-events/src/Form/Form.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/form-events/src/Form/Form.re -------------------------------------------------------------------------------- /form-events/src/Index.bs.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/form-events/src/Index.bs.js -------------------------------------------------------------------------------- /form-events/src/Index.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/form-events/src/Index.re -------------------------------------------------------------------------------- /form-events/watcher.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/form-events/watcher.js -------------------------------------------------------------------------------- /http-video-stream/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/http-video-stream/README.md -------------------------------------------------------------------------------- /http-video-stream/bigbuck.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/http-video-stream/bigbuck.mp4 -------------------------------------------------------------------------------- /http-video-stream/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/http-video-stream/index.html -------------------------------------------------------------------------------- /http-video-stream/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/http-video-stream/index.js -------------------------------------------------------------------------------- /http-video-stream/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/http-video-stream/package-lock.json -------------------------------------------------------------------------------- /http-video-stream/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/http-video-stream/package.json -------------------------------------------------------------------------------- /live-stream-part-1/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-1/README.md -------------------------------------------------------------------------------- /live-stream-part-1/auth/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-1/auth/Dockerfile -------------------------------------------------------------------------------- /live-stream-part-1/auth/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-1/auth/package-lock.json -------------------------------------------------------------------------------- /live-stream-part-1/auth/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-1/auth/package.json -------------------------------------------------------------------------------- /live-stream-part-1/auth/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-1/auth/server.js -------------------------------------------------------------------------------- /live-stream-part-1/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-1/docker-compose.yml -------------------------------------------------------------------------------- /live-stream-part-1/rtmp/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-1/rtmp/Dockerfile -------------------------------------------------------------------------------- /live-stream-part-1/rtmp/nginx.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-1/rtmp/nginx.conf -------------------------------------------------------------------------------- /live-stream-part-2/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-2/README.md -------------------------------------------------------------------------------- /live-stream-part-2/auth/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-2/auth/Dockerfile -------------------------------------------------------------------------------- /live-stream-part-2/auth/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-2/auth/package-lock.json -------------------------------------------------------------------------------- /live-stream-part-2/auth/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-2/auth/package.json -------------------------------------------------------------------------------- /live-stream-part-2/auth/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-2/auth/server.js -------------------------------------------------------------------------------- /live-stream-part-2/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-2/docker-compose.yml -------------------------------------------------------------------------------- /live-stream-part-2/rtmp/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-2/rtmp/Dockerfile -------------------------------------------------------------------------------- /live-stream-part-2/rtmp/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-2/rtmp/index.html -------------------------------------------------------------------------------- /live-stream-part-2/rtmp/nginx.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-2/rtmp/nginx.conf -------------------------------------------------------------------------------- /live-stream-part-3/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-3/README.md -------------------------------------------------------------------------------- /live-stream-part-3/auth/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-3/auth/Dockerfile -------------------------------------------------------------------------------- /live-stream-part-3/auth/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-3/auth/package-lock.json -------------------------------------------------------------------------------- /live-stream-part-3/auth/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-3/auth/package.json -------------------------------------------------------------------------------- /live-stream-part-3/auth/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-3/auth/server.js -------------------------------------------------------------------------------- /live-stream-part-3/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-3/docker-compose.yml -------------------------------------------------------------------------------- /live-stream-part-3/rtmp/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-3/rtmp/Dockerfile -------------------------------------------------------------------------------- /live-stream-part-3/rtmp/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-3/rtmp/index.html -------------------------------------------------------------------------------- /live-stream-part-3/rtmp/nginx.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/live-stream-part-3/rtmp/nginx.conf -------------------------------------------------------------------------------- /mongo-http-video/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/mongo-http-video/README.md -------------------------------------------------------------------------------- /mongo-http-video/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/mongo-http-video/docker-compose.yml -------------------------------------------------------------------------------- /mongo-http-video/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/mongo-http-video/index.html -------------------------------------------------------------------------------- /mongo-http-video/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/mongo-http-video/index.js -------------------------------------------------------------------------------- /mongo-http-video/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/mongo-http-video/package-lock.json -------------------------------------------------------------------------------- /mongo-http-video/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/mongo-http-video/package.json -------------------------------------------------------------------------------- /mongo-http-video/typings/jsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/mongo-http-video/typings/jsconfig.json -------------------------------------------------------------------------------- /multi-quality-video-player/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } -------------------------------------------------------------------------------- /multi-quality-video-player/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/multi-quality-video-player/.gitignore -------------------------------------------------------------------------------- /multi-quality-video-player/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/multi-quality-video-player/README.md -------------------------------------------------------------------------------- /multi-quality-video-player/components/InfiniteLoading.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/multi-quality-video-player/components/InfiniteLoading.svg -------------------------------------------------------------------------------- /multi-quality-video-player/components/VideoPlayer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/multi-quality-video-player/components/VideoPlayer.tsx -------------------------------------------------------------------------------- /multi-quality-video-player/init-db.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/multi-quality-video-player/init-db.js -------------------------------------------------------------------------------- /multi-quality-video-player/lib/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/multi-quality-video-player/lib/db.ts -------------------------------------------------------------------------------- /multi-quality-video-player/lib/ffmpeg.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/multi-quality-video-player/lib/ffmpeg.ts -------------------------------------------------------------------------------- /multi-quality-video-player/next.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/multi-quality-video-player/next.config.js -------------------------------------------------------------------------------- /multi-quality-video-player/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/multi-quality-video-player/package-lock.json -------------------------------------------------------------------------------- /multi-quality-video-player/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/multi-quality-video-player/package.json -------------------------------------------------------------------------------- /multi-quality-video-player/pages/_app.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/multi-quality-video-player/pages/_app.tsx -------------------------------------------------------------------------------- /multi-quality-video-player/pages/api/upload.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/multi-quality-video-player/pages/api/upload.ts -------------------------------------------------------------------------------- /multi-quality-video-player/pages/api/videos.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/multi-quality-video-player/pages/api/videos.ts -------------------------------------------------------------------------------- /multi-quality-video-player/pages/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/multi-quality-video-player/pages/index.tsx -------------------------------------------------------------------------------- /multi-quality-video-player/pages/upload.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/multi-quality-video-player/pages/upload.tsx -------------------------------------------------------------------------------- /multi-quality-video-player/styles/Home.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/multi-quality-video-player/styles/Home.module.css -------------------------------------------------------------------------------- /multi-quality-video-player/styles/Upload.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/multi-quality-video-player/styles/Upload.module.css -------------------------------------------------------------------------------- /multi-quality-video-player/styles/VideoPlayer.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/multi-quality-video-player/styles/VideoPlayer.module.css -------------------------------------------------------------------------------- /multi-quality-video-player/styles/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/multi-quality-video-player/styles/globals.css -------------------------------------------------------------------------------- /multi-quality-video-player/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/multi-quality-video-player/tsconfig.json -------------------------------------------------------------------------------- /sql-offset/Twitter_ERD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/sql-offset/Twitter_ERD.png -------------------------------------------------------------------------------- /sql-offset/date_pagination.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/sql-offset/date_pagination.py -------------------------------------------------------------------------------- /sql-offset/id_pagination.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/sql-offset/id_pagination.py -------------------------------------------------------------------------------- /sql-offset/offset_pagination.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/sql-offset/offset_pagination.py -------------------------------------------------------------------------------- /sql-offset/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/sql-offset/requirements.txt -------------------------------------------------------------------------------- /sql-offset/schema.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/sql-offset/schema.sql -------------------------------------------------------------------------------- /sql-offset/seed.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/sql-offset/seed.py -------------------------------------------------------------------------------- /sql-offset/timeline.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abdisalan/blog-code-examples/HEAD/sql-offset/timeline.py --------------------------------------------------------------------------------