Skip to content

Commit 2331776

Browse files
docs: update repository context via Repomix [skip ci]
1 parent 11613e6 commit 2331776

File tree

1 file changed

+170
-169
lines changed

1 file changed

+170
-169
lines changed

DOCS/repository_context.txt

Lines changed: 170 additions & 169 deletions
Original file line numberDiff line numberDiff line change
@@ -14556,175 +14556,6 @@ tsconfig.json
1455614556
19: }
1455714557
````
1455814558

14559-
## File: README.md
14560-
````markdown
14561-
1: [![cypress](https://github.com/w3bdesign/dfweb-v4/actions/workflows/cypress.yml/badge.svg)](https://github.com/w3bdesign/dfweb-v4/actions/workflows/cypress.yml)
14562-
2: [![Lighthouse CI](https://github.com/w3bdesign/dfweb-v4/actions/workflows/lighthouse.yml/badge.svg)](https://github.com/w3bdesign/dfweb-v4/actions/workflows/lighthouse.yml)
14563-
3: [![Codacy Badge](https://app.codacy.com/project/badge/Grade/3e803ad0f17146b78bbed9850eb1461f)](https://app.codacy.com/gh/w3bdesign/dfweb-v4/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
14564-
4: [![codecov](https://codecov.io/gh/w3bdesign/dfweb-v4/graph/badge.svg?token=AHQW8WQ6U8)](https://codecov.io/gh/w3bdesign/dfweb-v4)
14565-
5: [![Pa11y](https://github.com/w3bdesign/dfweb-v4/actions/workflows/pa11y.yml/badge.svg)](https://github.com/w3bdesign/dfweb-v4/actions/workflows/pa11y.yml)
14566-
6: [![Maintainability](https://api.codeclimate.com/v1/badges/8d5cae5017b1a9698843/maintainability)](https://codeclimate.com/github/w3bdesign/dfweb-v4/maintainability)
14567-
7:
14568-
8: # Dfweb.no Portfolio Version 4
14569-
9:
14570-
10: Fourth version of my personal portfolio website with Next.js, Motion, Sanity.io and Typescript.
14571-
11:
14572-
12: ## Table of Contents
14573-
13:
14574-
14: - [Live URL](#live-url)
14575-
15: - [Frontend](#frontend)
14576-
16: - [Backend](#backend)
14577-
17: - [Google Lighthouse](#google-lighthouse)
14578-
18: - [Features](#features)
14579-
19: - [General](#general)
14580-
20: - [Design](#design)
14581-
21: - [Accessibility](#accessibility)
14582-
22: - [Devops and Code quality](#devops-and-code-quality)
14583-
23: - [Environment Variables](#environment-variables)
14584-
24: - [Testing Standards](#testing-standards)
14585-
25:
14586-
26: ## Live URL
14587-
27:
14588-
28: <https://www.dfweb.no>
14589-
29:
14590-
30: ## Frontend (Next.js)
14591-
31:
14592-
32: <img src="/public/images/frontend.png" alt="Frontend Image" />
14593-
33:
14594-
34: ---
14595-
35:
14596-
36: ## Backend (Sanity headless CMS)
14597-
37:
14598-
38: <img src="https://github.com/user-attachments/assets/67099a89-0cda-458a-9fcd-ab09b016ace4" alt="Backend Image" />
14599-
39:
14600-
40: ---
14601-
41:
14602-
42: ## Google Lighthouse
14603-
43:
14604-
44: ![image](https://github.com/user-attachments/assets/418aa995-1913-4946-b6f8-5ca8eb9d07a5)
14605-
45:
14606-
46: ## Features
14607-
47:
14608-
48: ### General
14609-
49:
14610-
50: - Clean, modern, responsive and Matrix-inspired design
14611-
51: - The application is 100% typescript (the types are generated from Sanity typegen)
14612-
52: - Matrix canvas rain effect on front page
14613-
53: - Custom 404 page with Matrix rain effect
14614-
54: - Next.js 15 with Typescript and App router
14615-
55: - Server Components implementation for improved performance
14616-
56: - Streaming with Suspense boundaries
14617-
57: - Automatic static optimization with revalidation
14618-
58: - Server-side data fetching with proper error handling
14619-
59: - React 19
14620-
60: - Sanity headless CMS for all of the content, projects and navigation links
14621-
61: - Ladle for component documentation
14622-
62: - Animations with Motion
14623-
63: - React testing library for unit testing
14624-
64: - Cypress for E2E testing
14625-
65: - Playwright for cross-browser E2E testing
14626-
66: - Contact form with Email.js
14627-
67: - Polymorphic components
14628-
68: - Automatic sitemap generation (see /api/siteMapGenerator.ts)
14629-
69: - Google rich results for each individual page
14630-
70: - 100% / 100% / 100% / 100% score in Google Lighthouse
14631-
71: - Automated Lighthouse CI testing integrated with GitHub Actions
14632-
72: - React Hook Form with Typescript and Zod for efficient form handling and validation
14633-
73: - Reusable GenericForm component for easy form creation and management
14634-
74: - Error handling with react-error-boundary for improved user experience and easier debugging
14635-
75: - AI-friendly repository documentation with automated updates (Repomix with Github action workflow)
14636-
76:
14637-
77: ### Design
14638-
78:
14639-
79: - Fully responsive design tested on all devices
14640-
80: - React Icons for project icons
14641-
81: - Tailwind CSS for styling
14642-
82: - Animated reusable input fields
14643-
83: - Matrix-inspired animated cursor with dynamic trailing effect with fading Matrix characters
14644-
84:
14645-
85: ### Accessibility
14646-
86:
14647-
87: - WCAG accessibility tested
14648-
88: - Accessibility testing with Cypress Axe and Pa11y
14649-
89: - Automated Pa11y accessibility testing on every PR and push to main
14650-
90: - Tests all main pages against WCAG2AA standards
14651-
91: - Captures screenshots for visual reference
14652-
92: - Detailed reports available as GitHub Actions artifacts
14653-
93: - Builds will fail if any a11y errors are found
14654-
94:
14655-
95: ### Devops and Code quality
14656-
96:
14657-
97: - Continuous Integration with CircleCI
14658-
98: - CircleCI will warn before deploy if tests fail (setup for React testing library)
14659-
99: - Github action workflow for Cypress
14660-
100: - Code quality analysis with Codacy, Sonarcloud and Codeclimate
14661-
101: - E2E testing with Cypress and Playwright integrated with Github actions
14662-
102: - Unit testing with Jest and React Testing Library integrated with CircleCI
14663-
103: - Test coverage setup with Codecov
14664-
104: - 100% test coverage with Jest and React testing library
14665-
105: - AI-powered commit message generation following Conventional Commits with gitmojis
14666-
106: - Automated performance monitoring with Lighthouse CI
14667-
107: - Performance, accessibility, best practices, and SEO checks on every PR
14668-
108: - Configurable thresholds for quality metrics
14669-
109: - Both desktop and performance-focused testing
14670-
110: - Automated repository documentation with Repomix
14671-
111: - AI-friendly documentation generation on every push to main
14672-
112: - Comprehensive repository context maintained in `DOCS/repository_context.txt`
14673-
113: - Automated PR analysis with repository structure insights
14674-
114: - Security-focused documentation with sensitive information filtering
14675-
115: - Markdown formatting for improved readability
14676-
116:
14677-
117: ### Environment Variables
14678-
118:
14679-
119: - Type-safe environment variable validation with envalid
14680-
120:
14681-
121: - Runtime validation of required environment variables
14682-
122: - Clear error messages with examples for missing variables
14683-
123: - Separate handling of client-side and server-side variables
14684-
124: - Default values where appropriate
14685-
125: - Required variables:
14686-
126:
14687-
127: ```env
14688-
128: # Email Configuration (client-side)
14689-
129: NEXT_PUBLIC_EMAIL_API_KEY=user_xxx # EmailJS API key
14690-
130: NEXT_PUBLIC_EMAIL_TEMPLATE_KEY=template_xxx # EmailJS template key
14691-
131: NEXT_PUBLIC_EMAIL_SERVICE_KEY=service_xxx # EmailJS service key
14692-
132:
14693-
133: # AI Configuration (server-side)
14694-
134: AI_API_KEY=xxx # AI service API key
14695-
135: AI_BASE_URL=https://xxx # AI service base URL
14696-
136: MODEL_NAME=claude-3.7-sonnet@anthropic # Optional, has default value
14697-
137: ```
14698-
138:
14699-
139: - Validation prevents application startup if required variables are missing
14700-
140: - TypeScript integration for type-safe access to environment variables
14701-
141:
14702-
142: ### Testing Standards
14703-
143:
14704-
144: - ISTQB-aligned comprehensive test strategy
14705-
145: - Detailed test strategy documentation in `DOCS/TEST_STRATEGY.md`
14706-
146: - Multi-level test approach (Unit, Component, E2E)
14707-
147: - Risk-based testing methodology
14708-
148: - Defined test metrics and reporting
14709-
149: - Clear roles and responsibilities
14710-
150: - Structured defect management process
14711-
151:
14712-
152: - Enforced AAA (Arrange-Act-Assert) pattern in all test files
14713-
153: - Each test must include the following comments:
14714-
154: ```typescript
14715-
155: // Arrange - Set up test data and conditions
14716-
156: // Act - Perform the action being tested
14717-
157: // Assert - Verify the results
14718-
158: ```
14719-
159: - This pattern ensures:
14720-
160: - Clear test structure and readability
14721-
161: - Consistent test organization across the codebase
14722-
162: - Easy identification of test setup, execution, and verification
14723-
163: - Simplified test maintenance and debugging
14724-
164: - Automated validation through custom ESLint rules
14725-
165: - Tests will fail if AAA pattern is not followed
14726-
````
14727-
1472814559
## File: src/components/Layout/MobileMenu.component.tsx
1472914560
````typescript
1473014561
1: "use client";
@@ -14911,6 +14742,176 @@ tsconfig.json
1491114742
16: }
1491214743
````
1491314744

14745+
## File: README.md
14746+
````markdown
14747+
1: [![cypress](https://github.com/w3bdesign/dfweb-v4/actions/workflows/cypress.yml/badge.svg)](https://github.com/w3bdesign/dfweb-v4/actions/workflows/cypress.yml)
14748+
2: [![Lighthouse CI](https://github.com/w3bdesign/dfweb-v4/actions/workflows/lighthouse.yml/badge.svg)](https://github.com/w3bdesign/dfweb-v4/actions/workflows/lighthouse.yml)
14749+
3: [![Codacy Badge](https://app.codacy.com/project/badge/Grade/3e803ad0f17146b78bbed9850eb1461f)](https://app.codacy.com/gh/w3bdesign/dfweb-v4/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
14750+
4: [![codecov](https://codecov.io/gh/w3bdesign/dfweb-v4/graph/badge.svg?token=AHQW8WQ6U8)](https://codecov.io/gh/w3bdesign/dfweb-v4)
14751+
5: [![Pa11y](https://github.com/w3bdesign/dfweb-v4/actions/workflows/pa11y.yml/badge.svg)](https://github.com/w3bdesign/dfweb-v4/actions/workflows/pa11y.yml)
14752+
6: [![Maintainability](https://api.codeclimate.com/v1/badges/8d5cae5017b1a9698843/maintainability)](https://codeclimate.com/github/w3bdesign/dfweb-v4/maintainability)
14753+
7:
14754+
8: # Dfweb.no Portfolio Version 4
14755+
9:
14756+
10: Fourth version of my personal portfolio website with Next.js, Motion, Sanity.io and Typescript.
14757+
11:
14758+
12: ## Table of Contents
14759+
13:
14760+
14: - [Live URL](#live-url)
14761+
15: - [Frontend](#frontend)
14762+
16: - [Backend](#backend)
14763+
17: - [Google Lighthouse](#google-lighthouse)
14764+
18: - [Features](#features)
14765+
19: - [General](#general)
14766+
20: - [Design](#design)
14767+
21: - [Accessibility](#accessibility)
14768+
22: - [Devops and Code quality](#devops-and-code-quality)
14769+
23: - [Environment Variables](#environment-variables)
14770+
24: - [Testing Standards](#testing-standards)
14771+
25:
14772+
26: ## Live URL
14773+
27:
14774+
28: <https://www.dfweb.no>
14775+
29:
14776+
30: ## Frontend (Next.js)
14777+
31:
14778+
32: <img src="/public/images/frontend.png" alt="Frontend Image" />
14779+
33:
14780+
34: ---
14781+
35:
14782+
36: ## Backend (Sanity headless CMS)
14783+
37:
14784+
38: <img src="https://github.com/user-attachments/assets/67099a89-0cda-458a-9fcd-ab09b016ace4" alt="Backend Image" />
14785+
39:
14786+
40: ---
14787+
41:
14788+
42: ## Google Lighthouse
14789+
43:
14790+
44: ![image](https://github.com/user-attachments/assets/418aa995-1913-4946-b6f8-5ca8eb9d07a5)
14791+
45:
14792+
46: ## Features
14793+
47:
14794+
48: ### General
14795+
49:
14796+
50: - Clean, modern, responsive and Matrix-inspired design
14797+
51: - The application is 100% typescript (the types are generated from Sanity typegen)
14798+
52: - Matrix canvas rain effect on front page
14799+
53: - Custom 404 page with Matrix rain effect
14800+
54: - Next.js 15 with Typescript and App router
14801+
55: - Server Components implementation for improved performance
14802+
56: - Streaming with Suspense boundaries
14803+
57: - Automatic static optimization with revalidation
14804+
58: - Server-side data fetching with proper error handling
14805+
59: - React 19
14806+
60: - Sanity headless CMS for all of the content, projects and navigation links
14807+
61: - Ladle for component documentation
14808+
62: - Animations with Motion
14809+
63: - React testing library for unit testing
14810+
64: - Cypress for E2E testing
14811+
65: - Playwright for cross-browser E2E testing
14812+
66: - Contact form with Email.js
14813+
67: - Polymorphic components
14814+
68: - Automatic sitemap generation (see /api/siteMapGenerator.ts)
14815+
69: - Google rich results for each individual page
14816+
70: - 100% / 100% / 100% / 100% score in Google Lighthouse
14817+
71: - Automated Lighthouse CI testing integrated with GitHub Actions
14818+
72: - React Hook Form with Typescript and Zod for efficient form handling and validation
14819+
73: - Reusable GenericForm component for easy form creation and management
14820+
74: - Error handling with react-error-boundary for improved user experience and easier debugging
14821+
75: - AI-friendly repository documentation with automated updates (Repomix with Github action workflow)
14822+
76: - Sanity image URL generation with automatic resizing via `@sanity/image-url`.
14823+
77:
14824+
78: ### Design
14825+
79:
14826+
80: - Fully responsive design tested on all devices
14827+
81: - React Icons for project icons
14828+
82: - Tailwind CSS for styling
14829+
83: - Animated reusable input fields
14830+
84: - Matrix-inspired animated cursor with dynamic trailing effect with fading Matrix characters
14831+
85:
14832+
86: ### Accessibility
14833+
87:
14834+
88: - WCAG accessibility tested
14835+
89: - Accessibility testing with Cypress Axe and Pa11y
14836+
90: - Automated Pa11y accessibility testing on every PR and push to main
14837+
91: - Tests all main pages against WCAG2AA standards
14838+
92: - Captures screenshots for visual reference
14839+
93: - Detailed reports available as GitHub Actions artifacts
14840+
94: - Builds will fail if any a11y errors are found
14841+
95:
14842+
96: ### Devops and Code quality
14843+
97:
14844+
98: - Continuous Integration with CircleCI
14845+
99: - CircleCI will warn before deploy if tests fail (setup for React testing library)
14846+
100: - Github action workflow for Cypress
14847+
101: - Code quality analysis with Codacy, Sonarcloud and Codeclimate
14848+
102: - E2E testing with Cypress and Playwright integrated with Github actions
14849+
103: - Unit testing with Jest and React Testing Library integrated with CircleCI
14850+
104: - Test coverage setup with Codecov
14851+
105: - 100% test coverage with Jest and React testing library
14852+
106: - AI-powered commit message generation following Conventional Commits with gitmojis
14853+
107: - Automated performance monitoring with Lighthouse CI
14854+
108: - Performance, accessibility, best practices, and SEO checks on every PR
14855+
109: - Configurable thresholds for quality metrics
14856+
110: - Both desktop and performance-focused testing
14857+
111: - Automated repository documentation with Repomix
14858+
112: - AI-friendly documentation generation on every push to main
14859+
113: - Comprehensive repository context maintained in `DOCS/repository_context.txt`
14860+
114: - Automated PR analysis with repository structure insights
14861+
115: - Security-focused documentation with sensitive information filtering
14862+
116: - Markdown formatting for improved readability
14863+
117:
14864+
118: ### Environment Variables
14865+
119:
14866+
120: - Type-safe environment variable validation with envalid
14867+
121:
14868+
122: - Runtime validation of required environment variables
14869+
123: - Clear error messages with examples for missing variables
14870+
124: - Separate handling of client-side and server-side variables
14871+
125: - Default values where appropriate
14872+
126: - Required variables:
14873+
127:
14874+
128: ```env
14875+
129: # Email Configuration (client-side)
14876+
130: NEXT_PUBLIC_EMAIL_API_KEY=user_xxx # EmailJS API key
14877+
131: NEXT_PUBLIC_EMAIL_TEMPLATE_KEY=template_xxx # EmailJS template key
14878+
132: NEXT_PUBLIC_EMAIL_SERVICE_KEY=service_xxx # EmailJS service key
14879+
133:
14880+
134: # AI Configuration (server-side)
14881+
135: AI_API_KEY=xxx # AI service API key
14882+
136: AI_BASE_URL=https://xxx # AI service base URL
14883+
137: MODEL_NAME=claude-3.7-sonnet@anthropic # Optional, has default value
14884+
138: ```
14885+
139:
14886+
140: - Validation prevents application startup if required variables are missing
14887+
141: - TypeScript integration for type-safe access to environment variables
14888+
142:
14889+
143: ### Testing Standards
14890+
144:
14891+
145: - ISTQB-aligned comprehensive test strategy
14892+
146: - Detailed test strategy documentation in `DOCS/TEST_STRATEGY.md`
14893+
147: - Multi-level test approach (Unit, Component, E2E)
14894+
148: - Risk-based testing methodology
14895+
149: - Defined test metrics and reporting
14896+
150: - Clear roles and responsibilities
14897+
151: - Structured defect management process
14898+
152:
14899+
153: - Enforced AAA (Arrange-Act-Assert) pattern in all test files
14900+
154: - Each test must include the following comments:
14901+
155: ```typescript
14902+
156: // Arrange - Set up test data and conditions
14903+
157: // Act - Perform the action being tested
14904+
158: // Assert - Verify the results
14905+
159: ```
14906+
160: - This pattern ensures:
14907+
161: - Clear test structure and readability
14908+
162: - Consistent test organization across the codebase
14909+
163: - Easy identification of test setup, execution, and verification
14910+
164: - Simplified test maintenance and debugging
14911+
165: - Automated validation through custom ESLint rules
14912+
166: - Tests will fail if AAA pattern is not followed
14913+
````
14914+
1491414915
## File: src/components/Prosjekter/ProsjektCard.component.tsx
1491514916
````typescript
1491614917
1: "use client";

0 commit comments

Comments
 (0)