Tech Stack
This web app was initialized from my open-source Github project called Create Your Stack App
Tech Stack
| Tech | Version | Purpose |
|---|---|---|
| Next | 13.1 | Framework for building React-based web apps |
| React | 18.2 | Framework for creating component-based UIs |
| tailwindcss | 3.2 | CSS framework |
| react-markdown | 8.0 | Used to render blog posts |
| gray-matter | 4.0 | Extracts meta-data from markdown files |
| reading-time | 1.5 | Estimates the amount of time to read a markdown file |
| storybook | 7.0 Beta 15 | Framework from manually testing and documenting React components |
| cypress | 12.3 | Enables BDD testing |
| @badeball/cypress-cucumber-preprocessor | 15.1 | Enables BDD testing |
| jest | 29.3 | Provides framework for unit testing |
| eslint | 8.30 | Enforces a coding standard |
| prettier | 2.8 | Enforces a coding standard |
| husky | 8.0 | Provides git hooks |
Features
-
Web App
- Next JS 13
- App Directory
- SSR
- Next JS 13
-
UI Components
- React
- Atomic UI directory structure
-
CSS
- Tailwind CSS
- Tailwind Typography used for rendering Markdown
-
SEO
- <meta> tags including "og" and "twitter"
- Article Structured Data for blog posts
- Static routes via Next SSR
-
Google Analytics

-
Google Lighthouse Analysis within Chrome Developer Tools:

- .webp images for performance gains
-
Testing
- Cypress for end-to-end BDD testing using Cucumber pre-processor

- Jest and React Testing Library for component and utility testing
- Code Coverage results in /build directory

- Storybook for manual component testing and documentation

-
Pre Commit and Pre Push git hooks
-
Coding Standards
- /app and /src files checked with ESLint and Prettier
-
npm runscripts- build
- cypress:open
- cypress:run
- dev
- lint
- start
- storybook
- storybook-build
- storybook-build-test
- test
CI / CD Deployment
This web app is hosted on AWS Amplify which pulls the source code from Github. When I make a change in VS Code and push to a private repo in Github, Amplify uses a hook and is notified of the change. Amplify does a build and redeploys the webapp automatically.