Skip to content

Commit

Permalink
last changes
Browse files Browse the repository at this point in the history
  • Loading branch information
naltatis committed Jun 3, 2024
1 parent e95347e commit 232a0a4
Show file tree
Hide file tree
Showing 36 changed files with 233 additions and 1,061 deletions.
3 changes: 0 additions & 3 deletions .gitignore
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*
Expand Down
143 changes: 93 additions & 50 deletions README.md
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
2 changes: 0 additions & 2 deletions node_modules/rough-notation/.github/FUNDING.yml

This file was deleted.

21 changes: 0 additions & 21 deletions node_modules/rough-notation/LICENSE

This file was deleted.

188 changes: 0 additions & 188 deletions node_modules/rough-notation/README.md

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/rough-notation/lib/keyframes.d.ts

This file was deleted.

7 changes: 0 additions & 7 deletions node_modules/rough-notation/lib/keyframes.js

This file was deleted.

Loading

0 comments on commit 232a0a4

Please sign in to comment.