├── CONTRIBUTING.md ├── LICENSE └── README.md /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing Guidelines 2 | 3 | Thank you for your interest in contributing to our GitHub repository. The main goal of this repository is to create a comprehensive list of open-source projects that can serve as learning materials for developers implementing similar features in their applications. 4 | 5 | Before contributing, please ensure you have read through and follow the guidelines below. 6 | 7 | ## How to Contribute 8 | 9 | Create a new pull request with the relevant changes. The quickest way to do this is directly from the GitHub website. No need to clone the repo locally. 10 | 11 | ## Adding a New Project 12 | 13 | To add a new project, you need to edit the README.md file and include the project in the 'Projects' section. Follow the format of the existing projects. Consider the following: 14 | 15 | - The repo should contain real-world apps. Please do not add mini demos or tutorials. The objective is to provide production apps for learning. 16 | - Add the project to the relevant sections. If you think a new section is needed for your project, feel free to add it. Remember, sections should be for major parts of an app, not minor packages or libraries. 17 | 18 | ## Contact 19 | 20 | If you have any questions about contributing or need help with something, feel free to open an issue or send a direct message. 21 | 22 | We look forward to your contributions, and we appreciate your support in our aim to make learning from real-world projects accessible to everyone! 23 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Elie 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Learn from Open Source Projects 2 | 3 | This repo contains a list of real open source projects to learn from. It's often easier to learn from real-world examples. Examples in tutorials are usually limited. 4 | 5 | [Issues](https://github.com/elie222/learn-from-open-source/issues) contains many projects that have yet to be added to the README. They're also a good list of projects to learn from. 6 | 7 | Feel free to make a pull request to add more projects to the list. 8 | 9 | ## Table of Contents: 10 | 11 | - [Angular](#angular) 12 | - [Custom Domains](#custom-domains) 13 | - [Docker](#docker) 14 | - [Drizzle](#drizzle) 15 | - [Gmail API](#gmail-api) 16 | - [OpenAI](#openai) 17 | - [Lemon Squeezy](#lemon-squeezy) 18 | - [Neon](#neon) 19 | - [NestJS](#nestjs) 20 | - [Next.js](#nextjs) 21 | - [Next Auth](#next-auth) 22 | - [Nx](#nx) 23 | - [Phoenix](#phoenix) 24 | - [PostHog](#posthog) 25 | - [Prisma](#prisma) 26 | - [Resend](#resend) 27 | - [Stripe](#stripe) 28 | - [Supabase](#supabase) 29 | - [T3](#t3) 30 | - [Tailwind](#tailwind) 31 | - [Tinybird](#tinybird) 32 | - [Tiptap](#tiptap) 33 | - [tRPC](#trpc) 34 | - [Turborepo](#turborepo) 35 | - [Turso](#turso) 36 | - [Upstash](#upstash) 37 | - [CLI](#cli) 38 | - [Pnpm](#pnpm) 39 | 40 | ## YouTube Channels 41 | 42 | - [Elie Steinbock](https://www.youtube.com/@elie2222) 43 | - [Marc Seitz](https://www.youtube.com/@marcseitz) 44 | 45 | ## Projects 46 | 47 | - [Analyzemyrepo](https://github.com/CrowdDotDev/analyzemyrepo) 48 | - [AnswerOverflow](https://github.com/AnswerOverflow/AnswerOverflow) 49 | - [Aptabase](https://github.com/aptabase/aptabase) 50 | - [Cal.com](https://github.com/calcom/cal.com) 51 | - [Documenso](https://github.com/documenso/documenso) 52 | - [Dub.co](https://github.com/steven-tey/dub) 53 | - [Ghostfolio](https://github.com/ghostfolio/ghostfolio) 54 | - [Inbox Zero](https://getinboxzero.com/github) 55 | - [OpenStatus](https://github.com/openstatusHQ/openstatus) 56 | - [Novel.sh](https://github.com/steven-tey/novel) 57 | - [Papermark](https://github.com/mfts/papermark) 58 | - [Trigger.dev](https://github.com/triggerdotdev/trigger.dev) 59 | - [Quivr](https://github.com/StanGirard/quivr) 60 | - [Railtrack](https://github.com/noahflk/railtrack) 61 | - [UnKey](https://unkey.dev/) 62 | - [Vercel Platforms Starter](https://github.com/vercel/platforms) 63 | - [YC Idea Matcher](https://github.com/neondatabase/yc-idea-matcher) 64 | - [OpenBio](https://github.com/vanxh/openbio) 65 | - [Zapdos](https://github.com/pingdotgg/zapdos) 66 | - [Tldraw](https://github.com/tldraw/tldraw) 67 | - [Commitgpt](https://github.com/RomanHotsiy/commitgpt) 68 | - [Keep](https://www.github.com/keephq/keep) 69 | - [Impler](https://github.com/implerhq/impler.io) 70 | - [Midday](https://git.new/midday) 71 | 72 | ## Angular 73 | 74 | - [Ghostfolio](https://github.com/ghostfolio/ghostfolio) 75 | 76 | ## Custom Domains 77 | 78 | - [Dub.co](https://github.com/steven-tey/dub) 79 | - [Cal.com](https://github.com/calcom/cal.com) 80 | - [Papermark](https://github.com/mfts/papermark) 81 | - [Vercel Platforms Starter](https://github.com/vercel/platforms) 82 | 83 | ## Docker 84 | 85 | - [AnswerOverflow](https://github.com/AnswerOverflow/AnswerOverflow) 86 | - [Documenso](https://github.com/documenso/documenso) 87 | - [Ghostfolio](https://github.com/ghostfolio/ghostfolio) 88 | - [Trigger.dev](https://github.com/triggerdotdev/trigger.dev) 89 | - [Zapdos](https://github.com/pingdotgg/zapdos) 90 | - [Keep](https://www.github.com/keephq/keep) 91 | - [Impler](https://github.com/implerhq/impler.io) 92 | 93 | ## Drizzle 94 | 95 | - [AnswerOverflow](https://github.com/AnswerOverflow/AnswerOverflow) 96 | - [OpenStatus](https://github.com/openstatusHQ/openstatus) 97 | - [OpenBio](https://github.com/vanxh/openbio) 98 | - [UnKey](https://unkey.dev/) 99 | 100 | ## Gmail API 101 | 102 | - [Inbox Zero](https://getinboxzero.com/github) 103 | 104 | ## OpenAI 105 | 106 | - [Inbox Zero](https://getinboxzero.com/github) 107 | - [Novel.sh](https://github.com/steven-tey/novel) 108 | - [Quivr](https://github.com/StanGirard/quivr) 109 | - [Vercel Platforms Starter](https://github.com/vercel/platforms) 110 | - [YC Idea Matcher](https://github.com/neondatabase/yc-idea-matcher) 111 | - [Commitgpt](https://github.com/RomanHotsiy/commitgpt) 112 | 113 | ## Lemon Squeezy 114 | 115 | - [Aptabase](https://github.com/aptabase/aptabase) 116 | - [Inbox Zero](https://getinboxzero.com/github) 117 | 118 | ## Neon 119 | 120 | - [YC Idea Matcher](https://github.com/neondatabase/yc-idea-matcher) 121 | - [OpenBio](https://github.com/vanxh/openbio) 122 | 123 | ## NestJS 124 | 125 | - [Ghostfolio](https://github.com/ghostfolio/ghostfolio) 126 | - [Impler](https://github.com/implerhq/impler.io) 127 | 128 | ## Next.js 129 | 130 | - [Analyzemyrepo](https://github.com/CrowdDotDev/analyzemyrepo) 131 | - [Documenso](https://github.com/documenso/documenso) 132 | - [Dub.co](https://github.com/steven-tey/dub) 133 | - [Cal.com](https://github.com/calcom/cal.com) 134 | - [Inbox Zero](https://getinboxzero.com/github) 135 | - [OpenStatus](https://github.com/openstatusHQ/openstatus) 136 | - [Papermark](https://github.com/mfts/papermark) 137 | - [Quivr](https://github.com/StanGirard/quivr) 138 | - [Railtrack](https://github.com/noahflk/railtrack) 139 | - [Vercel Platforms Starter](https://github.com/vercel/platforms) 140 | - [YC Idea Matcher](https://github.com/neondatabase/yc-idea-matcher) 141 | - [OpenBio](https://github.com/vanxh/openbio) 142 | - [Zapdos](https://github.com/pingdotgg/zapdos) 143 | - [UnKey](https://unkey.dev/) 144 | - [Keep](https://www.github.com/keephq/keep) 145 | - [Impler](https://github.com/implerhq/impler.io) 146 | 147 | ## Next Auth 148 | 149 | - [Analyzemyrepo](https://github.com/CrowdDotDev/analyzemyrepo) 150 | - [AnswerOverflow](https://github.com/AnswerOverflow/AnswerOverflow) 151 | - [Documenso](https://github.com/documenso/documenso) 152 | - [Dub.co](https://github.com/steven-tey/dub) 153 | - [Inbox Zero](https://getinboxzero.com/github) 154 | - [Zapdos](https://github.com/pingdotgg/zapdos) 155 | - [Keep](https://www.github.com/keephq/keep) 156 | 157 | ## Nx 158 | 159 | - [Ghostfolio](https://github.com/ghostfolio/ghostfolio) 160 | - [Impler](https://github.com/implerhq/impler.io) 161 | 162 | ## PostHog 163 | 164 | - [Inbox Zero](https://getinboxzero.com/github) 165 | - [Keep](https://www.github.com/keephq/keep) 166 | 167 | ## Prisma 168 | 169 | - [Documenso](https://github.com/documenso/documenso) 170 | - [Dub.co](https://github.com/steven-tey/dub) 171 | - [Cal.com](https://github.com/calcom/cal.com) 172 | - [Ghostfolio](https://github.com/ghostfolio/ghostfolio) 173 | - [Inbox Zero](https://getinboxzero.com/github) 174 | - [Trigger.dev](https://github.com/triggerdotdev/trigger.dev) 175 | 176 | ## Remix 177 | 178 | - [Railtrack](https://github.com/noahflk/railtrack) 179 | - [Trigger.dev](https://github.com/triggerdotdev/trigger.dev) 180 | - [Zapdos](https://github.com/pingdotgg/zapdos) 181 | 182 | ## Resend 183 | 184 | - [Dub.co](https://github.com/steven-tey/dub) 185 | - [OpenStatus](https://github.com/openstatusHQ/openstatus) 186 | - [Papermark](https://github.com/mfts/papermark) 187 | - [OpenBio](https://github.com/vanxh/openbio) 188 | 189 | ## Stripe 190 | 191 | - [Documenso](https://github.com/documenso/documenso) 192 | - [Dub.co](https://github.com/steven-tey/dub) 193 | - [Ghostfolio](https://github.com/ghostfolio/ghostfolio) 194 | - [OpenBio](https://github.com/vanxh/openbio) 195 | - [OpenStatus](https://github.com/openstatusHQ/openstatus) 196 | - [Papermark](https://github.com/mfts/papermark) 197 | 198 | ## Supabase 199 | 200 | - [Quivr](https://github.com/StanGirard/quivr) 201 | - [Railtrack](https://github.com/noahflk/railtrack) 202 | 203 | ## T3 204 | 205 | - [Analyzemyrepo](https://github.com/CrowdDotDev/analyzemyrepo) 206 | - [AnswerOverflow](https://github.com/AnswerOverflow/AnswerOverflow) 207 | - [Cal.com](https://github.com/calcom/cal.com) 208 | - [OpenBio](https://github.com/vanxh/openbio) 209 | - [Railtrack](https://github.com/noahflk/railtrack) 210 | - [Zapdos](https://github.com/pingdotgg/zapdos) 211 | 212 | ## Tailwind 213 | 214 | - [Analyzemyrepo](https://github.com/CrowdDotDev/analyzemyrepo) 215 | - [AnswerOverflow](https://github.com/AnswerOverflow/AnswerOverflow) 216 | - [Documenso](https://github.com/documenso/documenso) 217 | - [Dub.co](https://github.com/steven-tey/dub) 218 | - [Cal.com](https://github.com/calcom/cal.com) 219 | - [Inbox Zero](https://getinboxzero.com/github) 220 | - [OpenStatus](https://github.com/openstatusHQ/openstatus) 221 | - [Papermark](https://github.com/mfts/papermark) 222 | - [Quivr](https://github.com/StanGirard/quivr) 223 | - [Railtrack](https://github.com/noahflk/railtrack) 224 | - [Vercel Platforms Starter](https://github.com/vercel/platforms) 225 | - [YC Idea Matcher](https://github.com/neondatabase/yc-idea-matcher) 226 | - [OpenBio](https://github.com/vanxh/openbio) 227 | - [Trigger.dev](https://github.com/triggerdotdev/trigger.dev) 228 | - [Zapdos](https://github.com/pingdotgg/zapdos) 229 | - [UnKey](https://unkey.dev/) 230 | - [Keep](https://www.github.com/keephq/keep) 231 | 232 | ## Tinybird 233 | 234 | - [Aptabase](https://github.com/aptabase/aptabase) 235 | - [Dub.co](https://github.com/steven-tey/dub) 236 | - [OpenStatus](https://github.com/openstatusHQ/openstatus) 237 | - [Papermark](https://github.com/mfts/papermark) 238 | - [UnKey](https://unkey.dev/) 239 | 240 | ## Tiptap 241 | 242 | - [Novel.sh](https://github.com/steven-tey/novel) 243 | - [OpenBio](https://github.com/vanxh/openbio) 244 | 245 | ## tRPC 246 | 247 | - [Analyzemyrepo](https://github.com/CrowdDotDev/analyzemyrepo) 248 | - [AnswerOverflow](https://github.com/AnswerOverflow/AnswerOverflow) 249 | - [Cal.com](https://github.com/calcom/cal.com) 250 | - [OpenBio](https://github.com/vanxh/openbio) 251 | - [Zapdos](https://github.com/pingdotgg/zapdos) 252 | 253 | ## Turborepo 254 | 255 | - [AnswerOverflow](https://github.com/AnswerOverflow/AnswerOverflow) 256 | - [Documenso](https://github.com/documenso/documenso) 257 | - [Cal.com](https://github.com/calcom/cal.com) 258 | - [Inbox Zero](https://getinboxzero.com/github) 259 | - [Novel.sh](https://github.com/steven-tey/novel) 260 | - [Railtrack](https://github.com/noahflk/railtrack) 261 | - [Trigger.dev](https://github.com/triggerdotdev/trigger.dev) 262 | - [OpenStatus](https://github.com/openstatusHQ/openstatus) 263 | 264 | ## Turso 265 | 266 | - [OpenStatus](https://github.com/openstatusHQ/openstatus) 267 | 268 | ## Upstash 269 | 270 | - [Dub.co](https://github.com/steven-tey/dub) 271 | - [Inbox Zero](https://getinboxzero.com/github) 272 | - [YC Idea Matcher](https://github.com/neondatabase/yc-idea-matcher) 273 | - [OpenBio](https://github.com/vanxh/openbio) 274 | 275 | # CLI 276 | 277 | - [Commitgpt](https://github.com/RomanHotsiy/commitgpt) 278 | - [Dun](https://github.com/NickTikhonov/dun-cli) 279 | - [Keep](https://www.github.com/keephq/keep) 280 | 281 | # Pnpm 282 | 283 | - [Impler](https://github.com/implerhq/impler.io) 284 | --------------------------------------------------------------------------------