-
Notifications
You must be signed in to change notification settings - Fork 1
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
Showing
36 changed files
with
233 additions
and
1,061 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,6 @@ | ||
# build output | ||
dist/ | ||
|
||
# dependencies | ||
node_modules/ | ||
|
||
# logs | ||
npm-debug.log* | ||
yarn-debug.log* | ||
|
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 |
---|---|---|
@@ -1,50 +1,93 @@ | ||
# Blogster | ||
|
||
Theme: **bubblegum** | ||
|
||
Blogster is a collection of beautiful, accessible and performant blog templates built with [Astro](https://astro.build) and [Markdoc](https://markdoc.dev). | ||
|
||
Check out the demo here - [Blogster bubblegum template](https://blogster-bubblegum.netlify.app). | ||
|
||
## Bubblegum Template | ||
|
||
A beautiful, performant and accessible theme built with [Tailwind](https://tailwindcss.com). | ||
|
||
- **Fast**. Fast by default. Astro websites are engineered to be fast and load before you could blink, even when not cached. | ||
- **Dark mode**. All themes have light/dark mode built-in. | ||
- **Mobile first**. Responsive and loads fast in all devices. | ||
- **Accessible**. A well thought out semantic and accessible content. | ||
- **Perfect lighthouse score.** 100 across the board. | ||
- **Easy content authoring**. Author content using markdown (`.md`) from your code editor or directly in GitHub. | ||
- **Extended markdown with [Markdoc](https://markdoc.dev).** Type-safe custom components like YouTube embed, Twitter embed (or anything you want really) in your markdown (`.md`) files. | ||
- **RSS feed**. Your blog has an RSS feed setup that can be accessed at `/rss.xml`. | ||
- **SEO**. All pages are setup with all the SEO you might need. | ||
|
||
## How do I add content? | ||
|
||
All the content is written in markdown (.md) and grouped as `blog` or `projects` in the `content` directory. All the default markdown syntax will work. You also have a few example custom markdown elements like _YouTube embed_, _Twitter embed_, etc. You can create your own custom components too in two easy steps. | ||
|
||
1. Add a markdoc config. Check out the markdoc config in [src/lib/markdoc/config.ts](src/lib/markdoc/config.ts) to learn how to add custom components. | ||
2. Add a component to render your custom component. Check out the Renderer in [src/components/Renderer.astro](src/components/Renderer.astro). | ||
|
||
## How do I make it my blog? | ||
|
||
Easy. | ||
|
||
- All content is static and everything is straight forward. Change whatever you need to change. | ||
- Delete or update the content in `content/{content-group}`. `content-group` could be `blog`, `projects` or `anything`. | ||
- (Optional) If you need more content types like _Notes_, just create a new dir in `content` and add a new frontmatter validator like [src/lib/markdoc/blog/frontmatter](src/lib/markdoc/blog/frontmatter). | ||
|
||
## How do I deploy? | ||
|
||
`yarn build` will generate a static website in `dist` dir. You can host it with any static hosting. If you need a recommendation, check out [Netlify](netlify.com). | ||
|
||
## Credit | ||
|
||
Thanks to other templates that inspired this theme. | ||
|
||
- [Official Astro Blog template](https://github.com/withastro/astro/tree/main/examples/blog) | ||
|
||
## License | ||
|
||
MIT © [Dinesh Pandiyan](https://github.com/flexdinesh) | ||
# The Tractor Store - Blueprint | ||
|
||
## What is The Tractor Store? | ||
|
||
The Tractor Store is a template to experiment with micro frontend architecture. | ||
Goal is to create a real world application where developers can experiment with different integration techniques. | ||
|
||
The idea is similar to [TodoMVC](http://todomvc.com/) or [Movies](https://tastejs.com/movies/), but with a focus on micro frontends. | ||
|
||
## About this project | ||
|
||
- Three systems: Explore, Decide, Buy along the customer journey (buying process) | ||
- Store that sells tractors | ||
- E-commerce platform (homepage, catalog, product details, cart, checkout, thank you page) | ||
- Special features: Add to cart animation, recommendations, store picker, thank you confetti | ||
- Focus on frontend aspects. Backend and database are mocked with static data. | ||
- Styling is provided in the blueprint. It's not the focus of this project. | ||
- Static assets (images, fonts, helpers, ...) are provided. They can be copied or linked to directly (CDN). | ||
|
||
## Design principals | ||
|
||
- Each system can be developed and deployed independently by different teams | ||
- The freedom to change a systems technology stack without affecting the others must be guaranteed | ||
- Self-contained systems: Each system has its own database, backend and frontend | ||
- Loose coupling: Systems should be able to function independently of each other as best as possible | ||
- Provide a way to run the entire application locally for development and testing | ||
|
||
## Implementation choices | ||
|
||
- All described features must be implemented (user stories). End-to-end tests are provided to verify the implementation. | ||
- The concrete implementation is up to you (frontend framework, style handling, etc.) | ||
- Communication between systems can be achieved with different techniques (client, server, shared state, events, event-bus, etc.) | ||
- Server- and/or client-rendering is possible | ||
- An application shell is not required, but can be implemented if desired | ||
- Deployment can be done with different techniques (container, serverless, static, etc.) | ||
- Optional feature: extract shared UI components into a pattern library (button, ...) | ||
|
||
## Goal of the project | ||
|
||
There is no one-size-fits-all solution for micro frontends. | ||
The goal of this project is to provide a central place, where different micro frontend integration techniques can be compared and evaluated. | ||
|
||
- Make pros and cons of different tech-stacks and integration techniques visible and discussable | ||
- Organizational scalability (more teams, more systems) | ||
- Technical scalability (more users, more features) | ||
- Performance characteristics (Core-Web-Vitals, ...) | ||
- Development experience | ||
- Share knowledge and learnings with the community | ||
- Provide a blueprint for others to experiment with a specific micro frontends tech stack | ||
|
||
## Implementation gallery | ||
|
||
- Fork the blueprint or any other implementation | ||
- Submit a an issue with a link to your implementation (github repo) | ||
- Describe you tech stack and integration techniques using the issue template | ||
- Extra points if you provide a hosted version of your implementation | ||
|
||
## Anatomy of the project | ||
|
||
### Boundaries 📄 | ||
|
||
- 🔴 Explore | ||
- 📄 Home / Category | ||
- 📄 Stores | ||
- 🧩 Header (🔴🔵🟢 every page, except checkout) | ||
- 🧩 Footer (🔴🔵🟢 every page) | ||
- 🧩 Recommendations (🔵 product details, 🔴 cart) | ||
- 🧩 Store Picker (🟢 checkout) | ||
- 🔵 Decide | ||
- 📄 Product Details | ||
- 🟢 Buy | ||
- 📄 Cart | ||
- 📄 Checkout | ||
- 📄 Thank you | ||
- 🧩 Mini Cart (🔴 header) | ||
- 🧩 Buy Button (🔵 product details) | ||
|
||
### Concepts 🧠 | ||
|
||
- Inter-team navigation (server- and/or client-side) | ||
- Communication parent-child (variant change > recommendations, add to cart) | ||
- Communication sibling (add to cart > mini cart) | ||
- Communication child-parent (in store pickup > explore ) | ||
- Potential client-side interactions (variant change, remove from cart, form validation) | ||
- Nested integration (page > header > mini cart) | ||
- [Bonus] Shared UI components / pattern library (button) | ||
- [Bonus] Login / authentication | ||
|
||
### Infrastructure 🏗️ | ||
|
||
- Deployment | ||
- Integration service | ||
- Ende-zu-Ende-Tests |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.