feat(01-01): add TypeScript interfaces and configure ESLint for Nuxt

- shared/types/index.ts with tightened Project, Technology, TechStack, Testimonial, FAQ interfaces
- technologies, category, date now required on Project (was optional)
- FAQ uses i18n keys (questionKey, answerKey, featuresKey)
- Replace old eslint.config.ts with Nuxt-compatible eslint.config.mjs
This commit is contained in:
2026-04-08 14:53:06 +02:00
parent 9fbbce07e0
commit c4923a0da9
3 changed files with 62 additions and 22 deletions
+59
View File
@@ -0,0 +1,59 @@
export interface ProjectButton {
title: string
link: string
}
export interface Project {
id: string
image: string
technologies: string[]
category: string
date: string
featured?: boolean
buttons?: ProjectButton[]
gallery?: string[]
demoUrl?: string
githubUrl?: string
features?: string[]
}
export interface Technology {
name: string
level: 'Beginner' | 'Intermediate' | 'Advanced'
image: string
}
export interface TechStack {
programming: Technology[]
front: Technology[]
database: Technology[]
devtools: Technology[]
operating_systems: Technology[]
socials: Technology[]
}
export interface Testimonial {
name: string
role: string
company: string
avatar: string
rating: number
content: string
date: string
platform: string
featured?: boolean
project_type: string
results?: string[]
}
export interface TestimonialsStats {
totalReviews: number
averageRating: number
projectsCompleted: number
}
export interface FAQ {
questionKey: string
answerKey: string
featuresKey: string
}