-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
56e45ab
commit 975fc85
Showing
9 changed files
with
201 additions
and
181 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# Open Source | ||
|
||
References: | ||
|
||
- [GitHub - The largest open source community in the world](https://github.com/open-source) | ||
- [OpenAlternative - Discover Open Source Alternatives to Popular Software](https://openalternative.co) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,157 @@ | ||
# Tech Stack | ||
|
||
Feel free to adjust the tech stack as you need and prefer. These are the complete things that can be used and recommended, with more focus on things labeled by the 👍 (thumbs up) emoji. | ||
|
||
## General | ||
|
||
- Browser: Chromium / Google Chrome / Arc Browser / Brave Browser | ||
- Code editor: [VS Code](vscode.md) / WebStorm / Neovim / Vim | ||
- Terminal emulator: Warp / Alacritty / Kitty / Rio | ||
- Links: [Markdown](markdown.md) | ||
- Markup: [HTML](html.md) | ||
- Styling: [CSS](css.md) | ||
- Programming: [JavaScript](javascript.md) with [TypeScript](typescript.md) 👍 | ||
- Runtime version manager: [proto](proto.md) 👍, alternative to nvm / asdf | ||
- Runtime: [Bun](bun.md) 👍, alternative to [Node.js](nodejs.md) / [Deno](deno.md) / WinterJS | ||
- Package manager: [Bun](bun.md) 👍, alternative to [npm](npm.md) / [yarn](yarn.md) / [pnpm](pnpm.md) | ||
- Monorepo: [moonrepo](moonrepo.md) 👍, alternative to [Turborepo](turborepo.md) / [Nx](nx.md) | ||
|
||
## Frontend | ||
|
||
- UI library: [React](react.md) v18 👍 | ||
- Optimization: [Million.js](millionjs.md) | ||
- Meta-framework: [Remix](remix.md) v2 👍 ([React Router](react-router.md) v6), alternative to [Next.js](nextjs.md) | ||
- Bundler: [Vite](vite.md) 👍 | ||
- PWA: Vite PWA Plugin for Remix | ||
- Extension: Remix Forge for VS Code | ||
- GraphQL client: [Apollo Client](apollo.md) v3 👍 | ||
- Auth: [Lucia Auth](lucia-auth.md) / [Remix Auth](remix-auth.md) | ||
|
||
## Frontend Styling | ||
|
||
- CSS framework: [Tailwind CSS](tailwind.md) v4 👍 | ||
- Variants: [Class Variance Authority (cva)](cva.md) 👍 | ||
- Fonts: [Fontsource](fontsource.md) 👍 | ||
- UI components: [shadcn/ui](shadcn-ui.md) 👍, [Radix UI](radix-ui.md), Tremor.so UI, Aceternity UI, Ariakit, Ark UI, Catalyst UI Kit, etc | ||
- UI icons: [React Icons](react-icons.md), Tabler Icons, Lucide Icons, Remix Icon, etc | ||
- UI component development: [Storybook](storybook.md) v8 | ||
- UI interaction and animation: [Motion One](motion-one.md) / Framer Motion / Pragmatic drag and drop / React Native Skia / Rive | ||
|
||
## Backend | ||
|
||
- API layer: [GraphQL](graphql.md) 👍 | ||
- GraphQL server: [Apollo Server](apollo.md) v4 👍 | ||
- GraphQL schema generator: [Pothos GraphQL](graphql-pothos.md) 👍 / [GraphQL Nexus](graphql-nexus.md) | ||
- ORM (Object Relational Mapper): [Drizzle](drizzle.md) 👍, alternative to [Prisma](prisma.md) | ||
- Database / DBMS (Database Management System): PostgreSQL 👍 | ||
- Hosted: Vercel Postgres / Supabase / Xata.io / Neon.tech / Tembo.io | ||
- Utility: Snaplet | ||
- Key-value store: Redis | ||
- Hosted: Upstash | ||
|
||
## Auth | ||
|
||
- Password with email or username | ||
- Email OTP | ||
- Phone OTP | ||
- GitHub Account | ||
- Google Account | ||
- Facebook Account | ||
|
||
## Utilities | ||
|
||
- Toolchain: Biome | ||
- Formatter: Prettier | ||
- Linter: ESLint | ||
- Performance linter: Million Lint for React | ||
- Containerization: Docker 👍, Docker Compose with Docker Rollout | ||
- Mac-only: OrbStack | ||
- Data validation: Zod | ||
- Unique ID: nanoid | ||
- Form management: Conform / React Hook Form / Formiz | ||
- Auth utility: Oslo.js, alternative to jsonwebtoken, bcrypt/argon, etc | ||
- Email templating: React Email | ||
- Rich text editor: TipTap, BlockNote, Yjs | ||
- Security scan: Snyk, SonarCloud | ||
- Search utility: Fuse.js v7 | ||
- Upgrade packages: Taze | ||
- Find unused stuffs: Knip | ||
|
||
## Testing | ||
|
||
- Test runner: Vitest | ||
- Functional testing: React Testing Library | ||
- E2E testing: Playwright | ||
- Mock test: Mock Service Worker (MSW) | ||
- GraphQL test: EasyGraphQLTester | ||
|
||
## Services | ||
|
||
- Repository: GitHub | ||
- Domain and DNS: Cloudflare | ||
- Secret credentials: Doppler | ||
- Frontend deployment: Vercel / Netlify | ||
- Backend deployment: Render.com / Railway.app | ||
- HTTP client: Firecamp / Hoppscotch / Insomnia / Postman / HTTPie | ||
- GraphQL web client: Apollo Studio with Apollo Sandbox | ||
- Analytics: Vercel Analytics / Plausible | ||
- Event tracking: LogSnag | ||
- Error tracking: Sentry | ||
- Email service: Resend / Loops.so / Bento | ||
- File upload and storage: Uploadcare / Uploadthing / Uppy | ||
- Status monitoring: OpenStatus / BetterStack | ||
- Link shortener: Dub.co | ||
- Background jobs: Trigger.dev | ||
- Notification system: Novu | ||
- Meeting scheduler: Cal.com with Google Calendar | ||
- Realtime and collaboration: Replicache | ||
- BaaS (Backend as a Service): Directus | ||
- Business dashboard and internal tool: Refine / Retool | ||
- Integration: Alloy Automation / Zapier | ||
- Payment gateway: | ||
- International: Stripe / Lemonsqueezy | ||
- Indonesia: Xendit / Midtrans | ||
|
||
## 3D | ||
|
||
- Three.js for 3D models | ||
- React Three Fiber | ||
- Spline | ||
|
||
## CLI | ||
|
||
- Ink, React for CLI | ||
|
||
## Mobile | ||
|
||
- React Native | ||
- Expo | ||
|
||
## Desktop | ||
|
||
- Tauri / Neutralinojs | ||
|
||
## AI / ML / LLM | ||
|
||
- AI SDK: Vercel AI SDK | ||
- OpenAI | ||
- Mistral AI | ||
|
||
## Extra | ||
|
||
- `@uidotdev/usehooks` | ||
- `date-fns` / `dayjs` | ||
- `remix-typedjson` | ||
- `remix-utils` | ||
- `undici` | ||
- `usehooks-ts` | ||
|
||
## Workflow Recommendations | ||
|
||
Non-codebase development tools to enhance the workflow, development, and learning process. | ||
|
||
- Account credentials: Bitwarden / 1Password | ||
- Communication and community: Telegram / Discord / X | ||
- Business database and MVP builder: Airtable | ||
- Project/product management: Linear | ||
- Launcher: Raycast (macOS) |
Oops, something went wrong.