diff --git a/.env.development b/.env.development index f73563d48..92535d6e6 100644 --- a/.env.development +++ b/.env.development @@ -266,3 +266,20 @@ FINANCE_DATABASE_URL=postgresql://manacore:devpassword@localhost:5432/finance INVENTORY_BACKEND_PORT=3020 INVENTORY_DATABASE_URL=postgresql://manacore:devpassword@localhost:5432/inventory INVENTORY_S3_PUBLIC_URL=http://localhost:9000/inventory-storage + +# ============================================ +# TECHBASE PROJECT +# ============================================ + +TECHBASE_BACKEND_PORT=3021 +TECHBASE_DATABASE_URL=postgresql://manacore:devpassword@localhost:5432/techbase + +# ============================================ +# WORLDREAM GAME +# ============================================ + +WORLDREAM_SUPABASE_URL=https://gbsrekoykkesullxdvbd.supabase.co +WORLDREAM_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Imdic3Jla295a2tlc3VsbHhkdmJkIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTY1MTU3NzksImV4cCI6MjA3MjA5MTc3OX0.qQlZvHiB56oKTRD90fd8IasZeZELjXOA46f-hnOQA1g +WORLDREAM_OPENAI_API_KEY=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 +WORLDREAM_GEMINI_API_KEY=AIzaSyB74aUj1KmJlcjNyT5uUiyDODQ6iYoAOjQ +WORLDREAM_REPLICATE_API_TOKEN=r8_QlvkstNhIc6NBX1ktpQ6ibvzOE2d2UQ1Emamd diff --git a/CLAUDE.md b/CLAUDE.md index 04bd58490..745b300ed 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -55,6 +55,7 @@ These projects are temporarily archived and excluded from the workspace. To re-a | **reader** | Reading app | | **uload** | URL shortener | | **wisekeep** | AI wisdom extraction from video | +| **techbase** | Software comparison platform | ## Development Commands diff --git a/apps-archived/techbase/CLAUDE.md b/apps-archived/techbase/CLAUDE.md new file mode 100644 index 000000000..d138d3b1b --- /dev/null +++ b/apps-archived/techbase/CLAUDE.md @@ -0,0 +1,129 @@ +# TechBase Project Guide + +## Project Structure + +``` +apps/techbase/ +├── apps/ +│ ├── web/ # Astro web application (@techbase/web) +│ └── backend/ # NestJS API server (@techbase/backend) +└── package.json +``` + +## Commands + +### Root Level (from monorepo root) + +```bash +pnpm techbase:dev # Run all techbase apps +pnpm dev:techbase:web # Start web app only +pnpm dev:techbase:backend # Start backend only +pnpm dev:techbase:app # Start web + backend together +pnpm techbase:db:push # Push schema to database +pnpm techbase:db:studio # Open Drizzle Studio +``` + +### Project Level (from apps/techbase/) + +```bash +pnpm dev # Run all apps +pnpm dev:web # Start web only +pnpm dev:backend # Start backend only +pnpm build # Build all apps +``` + +## Technology Stack + +- **Web**: Astro 5.5.5, Tailwind CSS, Alpine.js, Fuse.js +- **Backend**: NestJS 10, Drizzle ORM, PostgreSQL +- **i18n**: German (default), English (via Astro Content Collections) + +## API Endpoints + +| Endpoint | Method | Description | +|----------|--------|-------------| +| `/api/health` | GET | Health check | +| `/api/votes` | POST | Submit vote | +| `/api/votes/:softwareId` | GET | Get votes for software | +| `/api/votes/:softwareId/metrics` | GET | Get aggregated metrics | +| `/api/votes/metrics/all` | GET | Get all software metrics | +| `/api/comments` | POST | Submit comment | +| `/api/comments/:softwareId` | GET | Get approved comments | +| `/api/admin/comments` | GET | Get all comments (admin) | +| `/api/admin/comments/pending` | GET | Get pending comments | +| `/api/admin/comments/:id/approve` | PATCH | Approve comment | +| `/api/admin/comments/:id/reject` | PATCH | Reject comment | +| `/api/admin/comments/:id` | DELETE | Delete comment | + +## Database Schema + +### votes + +| Column | Type | Description | +|--------|------|-------------| +| id | UUID | Primary key | +| software_id | VARCHAR(255) | Software identifier | +| metric | VARCHAR(50) | Metric name (easeOfUse, featureRichness, etc.) | +| rating | INTEGER | Rating value (1-5) | +| ip_hash | VARCHAR(255) | Hashed IP for duplicate prevention | +| created_at | TIMESTAMP | Creation timestamp | + +Unique constraint on (software_id, metric, ip_hash) + +### comments + +| Column | Type | Description | +|--------|------|-------------| +| id | UUID | Primary key | +| software_id | VARCHAR(255) | Software identifier | +| user_name | VARCHAR(100) | Comment author | +| comment | TEXT | Comment content | +| ip_hash | VARCHAR(255) | Hashed IP | +| is_approved | BOOLEAN | Moderation status | +| is_spam | BOOLEAN | Spam flag | +| moderated_at | TIMESTAMP | Moderation timestamp | +| moderated_by | VARCHAR(255) | Moderator identifier | +| created_at | TIMESTAMP | Creation timestamp | + +## Environment Variables + +### Backend (.env) + +```env +PORT=3021 +DATABASE_URL=postgresql://manacore:devpassword@localhost:5432/techbase +MANA_CORE_AUTH_URL=http://localhost:3001 +CORS_ORIGINS=http://localhost:4321,http://localhost:5173 +``` + +### Web (.env) + +```env +PUBLIC_BACKEND_URL=http://localhost:3021 +``` + +## Code Style Preferences + +- Use Tailwind CSS for styling +- Use Alpine.js for client-side interactivity +- Follow Astro's component structure +- Keep logic in separate utility files +- Use TypeScript for type safety +- Backend follows NestJS module pattern + +## Key Directories + +### Web App + +- `src/components/`: UI components (SearchBar, VotingSystem, etc.) +- `src/content/`: Content collections (software data in DE/EN) +- `src/utils/`: Utility functions (i18n, search, api client) +- `src/pages/`: Page routes and API endpoints +- `src/layouts/`: Page layouts (Base, Admin) + +### Backend + +- `src/db/schema/`: Drizzle ORM schemas +- `src/votes/`: Voting module (controller, service, DTOs) +- `src/comments/`: Comments module with moderation +- `src/health/`: Health check endpoint diff --git a/apps-archived/techbase/apps/backend/drizzle.config.ts b/apps-archived/techbase/apps/backend/drizzle.config.ts new file mode 100644 index 000000000..06df49447 --- /dev/null +++ b/apps-archived/techbase/apps/backend/drizzle.config.ts @@ -0,0 +1,12 @@ +import { defineConfig } from 'drizzle-kit'; + +export default defineConfig({ + dialect: 'postgresql', + schema: './src/db/schema/index.ts', + out: './src/db/migrations', + dbCredentials: { + url: process.env.DATABASE_URL || 'postgresql://manacore:devpassword@localhost:5432/techbase', + }, + verbose: true, + strict: true, +}); diff --git a/apps-archived/techbase/apps/backend/nest-cli.json b/apps-archived/techbase/apps/backend/nest-cli.json new file mode 100644 index 000000000..b4a4fa09c --- /dev/null +++ b/apps-archived/techbase/apps/backend/nest-cli.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://json.schemastore.org/nest-cli", + "collection": "@nestjs/schematics", + "sourceRoot": "src", + "compilerOptions": { + "deleteOutDir": false, + "assets": [], + "watchAssets": false + } +} diff --git a/apps-archived/techbase/apps/backend/package.json b/apps-archived/techbase/apps/backend/package.json new file mode 100644 index 000000000..ec6f11db5 --- /dev/null +++ b/apps-archived/techbase/apps/backend/package.json @@ -0,0 +1,40 @@ +{ + "name": "@techbase/backend", + "version": "0.0.1", + "private": true, + "scripts": { + "build": "nest build", + "start": "nest start", + "dev": "nest start --watch", + "start:dev": "nest start --watch", + "start:debug": "nest start --debug --watch", + "start:prod": "node dist/main", + "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", + "type-check": "tsc --noEmit", + "db:push": "drizzle-kit push", + "db:studio": "drizzle-kit studio" + }, + "dependencies": { + "@manacore/shared-nestjs-auth": "workspace:*", + "@nestjs/common": "^10.4.15", + "@nestjs/config": "^3.3.0", + "@nestjs/core": "^10.4.15", + "@nestjs/platform-express": "^10.4.15", + "class-transformer": "^0.5.1", + "class-validator": "^0.14.1", + "dotenv": "^16.4.7", + "drizzle-kit": "^0.30.2", + "drizzle-orm": "^0.38.3", + "postgres": "^3.4.5", + "reflect-metadata": "^0.2.2", + "rxjs": "^7.8.1" + }, + "devDependencies": { + "@nestjs/cli": "^10.4.9", + "@nestjs/schematics": "^10.2.3", + "@types/express": "^5.0.0", + "@types/node": "^22.10.2", + "tsx": "^4.19.2", + "typescript": "^5.7.2" + } +} diff --git a/apps-archived/techbase/apps/backend/src/app.module.ts b/apps-archived/techbase/apps/backend/src/app.module.ts new file mode 100644 index 000000000..4db841ba6 --- /dev/null +++ b/apps-archived/techbase/apps/backend/src/app.module.ts @@ -0,0 +1,20 @@ +import { Module } from '@nestjs/common'; +import { ConfigModule } from '@nestjs/config'; +import { DatabaseModule } from './db/database.module'; +import { HealthModule } from './health/health.module'; +import { VotesModule } from './votes/votes.module'; +import { CommentsModule } from './comments/comments.module'; + +@Module({ + imports: [ + ConfigModule.forRoot({ + isGlobal: true, + envFilePath: '.env', + }), + DatabaseModule, + HealthModule, + VotesModule, + CommentsModule, + ], +}) +export class AppModule {} diff --git a/apps-archived/techbase/apps/backend/src/comments/comments.controller.ts b/apps-archived/techbase/apps/backend/src/comments/comments.controller.ts new file mode 100644 index 000000000..626dc23d7 --- /dev/null +++ b/apps-archived/techbase/apps/backend/src/comments/comments.controller.ts @@ -0,0 +1,57 @@ +import { Controller, Post, Get, Patch, Delete, Body, Param, Req } from '@nestjs/common'; +import { Request } from 'express'; +import { CommentsService } from './comments.service'; +import { CreateCommentDto } from './dto/create-comment.dto'; + +@Controller('comments') +export class CommentsController { + constructor(private readonly commentsService: CommentsService) {} + + @Post() + async createComment(@Body() createCommentDto: CreateCommentDto, @Req() req: Request) { + const ipAddress = req.ip || req.socket.remoteAddress || 'unknown'; + return this.commentsService.createComment( + createCommentDto.softwareId, + createCommentDto.userName, + createCommentDto.comment, + ipAddress + ); + } + + @Get(':softwareId') + async getComments(@Param('softwareId') softwareId: string) { + return this.commentsService.getApprovedComments(softwareId); + } +} + +@Controller('admin/comments') +export class AdminCommentsController { + constructor(private readonly commentsService: CommentsService) {} + + @Get() + async getAllComments() { + return this.commentsService.getAllComments(); + } + + @Get('pending') + async getPendingComments() { + return this.commentsService.getPendingComments(); + } + + @Patch(':id/approve') + async approveComment(@Param('id') id: string) { + // TODO: Get actual moderator ID from auth + return this.commentsService.approveComment(id, 'admin'); + } + + @Patch(':id/reject') + async rejectComment(@Param('id') id: string) { + // TODO: Get actual moderator ID from auth + return this.commentsService.rejectComment(id, 'admin'); + } + + @Delete(':id') + async deleteComment(@Param('id') id: string) { + return this.commentsService.deleteComment(id); + } +} diff --git a/apps-archived/techbase/apps/backend/src/comments/comments.module.ts b/apps-archived/techbase/apps/backend/src/comments/comments.module.ts new file mode 100644 index 000000000..ca49db65a --- /dev/null +++ b/apps-archived/techbase/apps/backend/src/comments/comments.module.ts @@ -0,0 +1,10 @@ +import { Module } from '@nestjs/common'; +import { CommentsController, AdminCommentsController } from './comments.controller'; +import { CommentsService } from './comments.service'; + +@Module({ + controllers: [CommentsController, AdminCommentsController], + providers: [CommentsService], + exports: [CommentsService], +}) +export class CommentsModule {} diff --git a/apps-archived/techbase/apps/backend/src/comments/comments.service.ts b/apps-archived/techbase/apps/backend/src/comments/comments.service.ts new file mode 100644 index 000000000..8c92c6336 --- /dev/null +++ b/apps-archived/techbase/apps/backend/src/comments/comments.service.ts @@ -0,0 +1,91 @@ +import { Injectable, Inject } from '@nestjs/common'; +import { eq, and, desc } from 'drizzle-orm'; +import { DATABASE_CONNECTION } from '../db/database.module'; +import { type Database } from '../db/connection'; +import { comments, type Comment, type NewComment } from '../db/schema'; +import { createHash } from 'crypto'; + +@Injectable() +export class CommentsService { + constructor(@Inject(DATABASE_CONNECTION) private db: Database) {} + + private hashIp(ip: string): string { + return createHash('sha256').update(ip).digest('hex').substring(0, 32); + } + + async createComment( + softwareId: string, + userName: string, + commentText: string, + ipAddress: string + ): Promise<{ success: boolean; message: string }> { + const ipHash = this.hashIp(ipAddress); + + const newComment: NewComment = { + softwareId, + userName, + comment: commentText, + ipHash, + isApproved: false, + isSpam: false, + }; + + await this.db.insert(comments).values(newComment); + + return { + success: true, + message: 'Comment submitted successfully. It will be visible after moderation.', + }; + } + + async getApprovedComments(softwareId: string): Promise { + return this.db + .select() + .from(comments) + .where(and(eq(comments.softwareId, softwareId), eq(comments.isApproved, true))) + .orderBy(desc(comments.createdAt)); + } + + async getAllComments(): Promise { + return this.db.select().from(comments).orderBy(desc(comments.createdAt)); + } + + async getPendingComments(): Promise { + return this.db + .select() + .from(comments) + .where(and(eq(comments.isApproved, false), eq(comments.isSpam, false))) + .orderBy(desc(comments.createdAt)); + } + + async approveComment(id: string, moderatorId: string): Promise<{ success: boolean }> { + await this.db + .update(comments) + .set({ + isApproved: true, + moderatedAt: new Date(), + moderatedBy: moderatorId, + }) + .where(eq(comments.id, id)); + + return { success: true }; + } + + async rejectComment(id: string, moderatorId: string): Promise<{ success: boolean }> { + await this.db + .update(comments) + .set({ + isSpam: true, + moderatedAt: new Date(), + moderatedBy: moderatorId, + }) + .where(eq(comments.id, id)); + + return { success: true }; + } + + async deleteComment(id: string): Promise<{ success: boolean }> { + await this.db.delete(comments).where(eq(comments.id, id)); + return { success: true }; + } +} diff --git a/apps-archived/techbase/apps/backend/src/comments/dto/create-comment.dto.ts b/apps-archived/techbase/apps/backend/src/comments/dto/create-comment.dto.ts new file mode 100644 index 000000000..2088dbe0c --- /dev/null +++ b/apps-archived/techbase/apps/backend/src/comments/dto/create-comment.dto.ts @@ -0,0 +1,19 @@ +import { IsString, IsNotEmpty, MaxLength, MinLength } from 'class-validator'; + +export class CreateCommentDto { + @IsString() + @IsNotEmpty() + softwareId: string; + + @IsString() + @IsNotEmpty() + @MinLength(2) + @MaxLength(100) + userName: string; + + @IsString() + @IsNotEmpty() + @MinLength(10) + @MaxLength(2000) + comment: string; +} diff --git a/apps-archived/techbase/apps/backend/src/db/connection.ts b/apps-archived/techbase/apps/backend/src/db/connection.ts new file mode 100644 index 000000000..fccc63f4a --- /dev/null +++ b/apps-archived/techbase/apps/backend/src/db/connection.ts @@ -0,0 +1,38 @@ +import { drizzle } from 'drizzle-orm/postgres-js'; +import * as schema from './schema'; + +// Use require for postgres to avoid ESM/CommonJS interop issues +// eslint-disable-next-line @typescript-eslint/no-var-requires +const postgres = require('postgres'); + +let connection: ReturnType | null = null; +let db: ReturnType | null = null; + +export function getConnection(databaseUrl: string) { + if (!connection) { + connection = postgres(databaseUrl, { + max: 10, + idle_timeout: 20, + connect_timeout: 10, + }); + } + return connection; +} + +export function getDb(databaseUrl: string) { + if (!db) { + const conn = getConnection(databaseUrl); + db = drizzle(conn, { schema }); + } + return db; +} + +export async function closeConnection() { + if (connection) { + await connection.end(); + connection = null; + db = null; + } +} + +export type Database = ReturnType; diff --git a/apps-archived/techbase/apps/backend/src/db/database.module.ts b/apps-archived/techbase/apps/backend/src/db/database.module.ts new file mode 100644 index 000000000..b4d1f2af6 --- /dev/null +++ b/apps-archived/techbase/apps/backend/src/db/database.module.ts @@ -0,0 +1,28 @@ +import { Module, Global, OnModuleDestroy } from '@nestjs/common'; +import { ConfigService } from '@nestjs/config'; +import { getDb, closeConnection, type Database } from './connection'; + +export const DATABASE_CONNECTION = 'DATABASE_CONNECTION'; + +@Global() +@Module({ + providers: [ + { + provide: DATABASE_CONNECTION, + useFactory: (configService: ConfigService): Database => { + const databaseUrl = configService.get('DATABASE_URL'); + if (!databaseUrl) { + throw new Error('DATABASE_URL environment variable is not set'); + } + return getDb(databaseUrl); + }, + inject: [ConfigService], + }, + ], + exports: [DATABASE_CONNECTION], +}) +export class DatabaseModule implements OnModuleDestroy { + async onModuleDestroy() { + await closeConnection(); + } +} diff --git a/apps-archived/techbase/apps/backend/src/db/schema/comments.schema.ts b/apps-archived/techbase/apps/backend/src/db/schema/comments.schema.ts new file mode 100644 index 000000000..990d42abe --- /dev/null +++ b/apps-archived/techbase/apps/backend/src/db/schema/comments.schema.ts @@ -0,0 +1,17 @@ +import { pgTable, uuid, varchar, text, boolean, timestamp } from 'drizzle-orm/pg-core'; + +export const comments = pgTable('comments', { + id: uuid('id').defaultRandom().primaryKey(), + softwareId: varchar('software_id', { length: 255 }).notNull(), + userName: varchar('user_name', { length: 100 }).notNull(), + comment: text('comment').notNull(), + ipHash: varchar('ip_hash', { length: 255 }).notNull(), + isApproved: boolean('is_approved').default(false), + isSpam: boolean('is_spam').default(false), + moderatedAt: timestamp('moderated_at'), + moderatedBy: varchar('moderated_by', { length: 255 }), + createdAt: timestamp('created_at').defaultNow().notNull(), +}); + +export type Comment = typeof comments.$inferSelect; +export type NewComment = typeof comments.$inferInsert; diff --git a/apps-archived/techbase/apps/backend/src/db/schema/index.ts b/apps-archived/techbase/apps/backend/src/db/schema/index.ts new file mode 100644 index 000000000..b1f831752 --- /dev/null +++ b/apps-archived/techbase/apps/backend/src/db/schema/index.ts @@ -0,0 +1,2 @@ +export * from './votes.schema'; +export * from './comments.schema'; diff --git a/apps-archived/techbase/apps/backend/src/db/schema/votes.schema.ts b/apps-archived/techbase/apps/backend/src/db/schema/votes.schema.ts new file mode 100644 index 000000000..fa69ac2b6 --- /dev/null +++ b/apps-archived/techbase/apps/backend/src/db/schema/votes.schema.ts @@ -0,0 +1,19 @@ +import { pgTable, uuid, varchar, integer, timestamp, unique } from 'drizzle-orm/pg-core'; + +export const votes = pgTable( + 'votes', + { + id: uuid('id').defaultRandom().primaryKey(), + softwareId: varchar('software_id', { length: 255 }).notNull(), + metric: varchar('metric', { length: 50 }).notNull(), + rating: integer('rating').notNull(), + ipHash: varchar('ip_hash', { length: 255 }).notNull(), + createdAt: timestamp('created_at').defaultNow().notNull(), + }, + (table) => ({ + uniqueVote: unique().on(table.softwareId, table.metric, table.ipHash), + }) +); + +export type Vote = typeof votes.$inferSelect; +export type NewVote = typeof votes.$inferInsert; diff --git a/apps-archived/techbase/apps/backend/src/health/health.controller.ts b/apps-archived/techbase/apps/backend/src/health/health.controller.ts new file mode 100644 index 000000000..c72e7fba4 --- /dev/null +++ b/apps-archived/techbase/apps/backend/src/health/health.controller.ts @@ -0,0 +1,13 @@ +import { Controller, Get } from '@nestjs/common'; + +@Controller('health') +export class HealthController { + @Get() + check() { + return { + status: 'ok', + timestamp: new Date().toISOString(), + service: 'techbase-backend', + }; + } +} diff --git a/apps-archived/techbase/apps/backend/src/health/health.module.ts b/apps-archived/techbase/apps/backend/src/health/health.module.ts new file mode 100644 index 000000000..a61d8b044 --- /dev/null +++ b/apps-archived/techbase/apps/backend/src/health/health.module.ts @@ -0,0 +1,7 @@ +import { Module } from '@nestjs/common'; +import { HealthController } from './health.controller'; + +@Module({ + controllers: [HealthController], +}) +export class HealthModule {} diff --git a/apps-archived/techbase/apps/backend/src/main.ts b/apps-archived/techbase/apps/backend/src/main.ts new file mode 100644 index 000000000..a3fdc25f3 --- /dev/null +++ b/apps-archived/techbase/apps/backend/src/main.ts @@ -0,0 +1,37 @@ +import { NestFactory } from '@nestjs/core'; +import { ValidationPipe } from '@nestjs/common'; +import { AppModule } from './app.module'; + +async function bootstrap() { + const app = await NestFactory.create(AppModule); + + // Enable CORS for web app + const corsOrigins = process.env.CORS_ORIGINS?.split(',').map((origin) => origin.trim()) || [ + 'http://localhost:4321', + 'http://localhost:5173', + 'http://localhost:3000', + ]; + + app.enableCors({ + origin: corsOrigins, + methods: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS'], + credentials: true, + }); + + // Enable validation + app.useGlobalPipes( + new ValidationPipe({ + whitelist: true, + transform: true, + forbidNonWhitelisted: true, + }) + ); + + // Set global prefix for API routes + app.setGlobalPrefix('api'); + + const port = process.env.PORT || 3020; + await app.listen(port); + console.log(`TechBase backend running on http://localhost:${port}`); +} +bootstrap(); diff --git a/apps-archived/techbase/apps/backend/src/votes/dto/create-vote.dto.ts b/apps-archived/techbase/apps/backend/src/votes/dto/create-vote.dto.ts new file mode 100644 index 000000000..22ac9dba4 --- /dev/null +++ b/apps-archived/techbase/apps/backend/src/votes/dto/create-vote.dto.ts @@ -0,0 +1,16 @@ +import { IsString, IsInt, Min, Max, IsNotEmpty } from 'class-validator'; + +export class CreateVoteDto { + @IsString() + @IsNotEmpty() + softwareId: string; + + @IsString() + @IsNotEmpty() + metric: string; + + @IsInt() + @Min(1) + @Max(5) + rating: number; +} diff --git a/apps-archived/techbase/apps/backend/src/votes/votes.controller.ts b/apps-archived/techbase/apps/backend/src/votes/votes.controller.ts new file mode 100644 index 000000000..6ff1e6c7a --- /dev/null +++ b/apps-archived/techbase/apps/backend/src/votes/votes.controller.ts @@ -0,0 +1,30 @@ +import { Controller, Post, Get, Body, Param, Req } from '@nestjs/common'; +import { Request } from 'express'; +import { VotesService } from './votes.service'; +import { CreateVoteDto } from './dto/create-vote.dto'; + +@Controller('votes') +export class VotesController { + constructor(private readonly votesService: VotesService) {} + + @Post() + async createVote(@Body() createVoteDto: CreateVoteDto, @Req() req: Request) { + const ipAddress = req.ip || req.socket.remoteAddress || 'unknown'; + return this.votesService.createVote( + createVoteDto.softwareId, + createVoteDto.metric, + createVoteDto.rating, + ipAddress + ); + } + + @Get(':softwareId/metrics') + async getMetrics(@Param('softwareId') softwareId: string) { + return this.votesService.getAllMetrics(softwareId); + } + + @Get(':softwareId/metrics/:metric') + async getMetricByName(@Param('softwareId') softwareId: string, @Param('metric') metric: string) { + return this.votesService.getMetrics(softwareId, metric); + } +} diff --git a/apps-archived/techbase/apps/backend/src/votes/votes.module.ts b/apps-archived/techbase/apps/backend/src/votes/votes.module.ts new file mode 100644 index 000000000..6e97936dc --- /dev/null +++ b/apps-archived/techbase/apps/backend/src/votes/votes.module.ts @@ -0,0 +1,10 @@ +import { Module } from '@nestjs/common'; +import { VotesController } from './votes.controller'; +import { VotesService } from './votes.service'; + +@Module({ + controllers: [VotesController], + providers: [VotesService], + exports: [VotesService], +}) +export class VotesModule {} diff --git a/apps-archived/techbase/apps/backend/src/votes/votes.service.ts b/apps-archived/techbase/apps/backend/src/votes/votes.service.ts new file mode 100644 index 000000000..5ea77e318 --- /dev/null +++ b/apps-archived/techbase/apps/backend/src/votes/votes.service.ts @@ -0,0 +1,98 @@ +import { Injectable, Inject } from '@nestjs/common'; +import { eq, and, sql, avg, count } from 'drizzle-orm'; +import { DATABASE_CONNECTION } from '../db/database.module'; +import { type Database } from '../db/connection'; +import { votes, type NewVote } from '../db/schema'; +import { createHash } from 'crypto'; + +@Injectable() +export class VotesService { + constructor(@Inject(DATABASE_CONNECTION) private db: Database) {} + + private hashIp(ip: string): string { + return createHash('sha256').update(ip).digest('hex').substring(0, 32); + } + + async createVote( + softwareId: string, + metric: string, + rating: number, + ipAddress: string + ): Promise<{ success: boolean; newAverage: number; voteCount: number }> { + const ipHash = this.hashIp(ipAddress); + + // Check if user already voted for this metric + const existingVote = await this.db + .select() + .from(votes) + .where(and(eq(votes.softwareId, softwareId), eq(votes.metric, metric), eq(votes.ipHash, ipHash))) + .limit(1); + + if (existingVote.length > 0) { + // Update existing vote + await this.db + .update(votes) + .set({ rating, createdAt: new Date() }) + .where(eq(votes.id, existingVote[0].id)); + } else { + // Create new vote + const newVote: NewVote = { + softwareId, + metric, + rating, + ipHash, + }; + await this.db.insert(votes).values(newVote); + } + + // Get updated metrics + const metrics = await this.getMetrics(softwareId, metric); + return { + success: true, + newAverage: metrics.averageRating, + voteCount: metrics.voteCount, + }; + } + + async getMetrics( + softwareId: string, + metric?: string + ): Promise<{ averageRating: number; voteCount: number }> { + const conditions = metric + ? and(eq(votes.softwareId, softwareId), eq(votes.metric, metric)) + : eq(votes.softwareId, softwareId); + + const result = await this.db + .select({ + averageRating: avg(votes.rating), + voteCount: count(votes.id), + }) + .from(votes) + .where(conditions); + + return { + averageRating: parseFloat(result[0]?.averageRating || '0') || 0, + voteCount: result[0]?.voteCount || 0, + }; + } + + async getAllMetrics( + softwareId: string + ): Promise<{ metric: string; averageRating: number; voteCount: number }[]> { + const result = await this.db + .select({ + metric: votes.metric, + averageRating: avg(votes.rating), + voteCount: count(votes.id), + }) + .from(votes) + .where(eq(votes.softwareId, softwareId)) + .groupBy(votes.metric); + + return result.map((r) => ({ + metric: r.metric, + averageRating: parseFloat(r.averageRating || '0') || 0, + voteCount: r.voteCount || 0, + })); + } +} diff --git a/apps-archived/techbase/apps/backend/tsconfig.json b/apps-archived/techbase/apps/backend/tsconfig.json new file mode 100644 index 000000000..0c618fb2c --- /dev/null +++ b/apps-archived/techbase/apps/backend/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "module": "commonjs", + "moduleResolution": "node", + "declaration": true, + "removeComments": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "allowSyntheticDefaultImports": true, + "target": "ES2021", + "sourceMap": true, + "outDir": "./dist", + "baseUrl": "./", + "rootDir": "./src", + "incremental": true, + "skipLibCheck": true, + "strictNullChecks": true, + "noImplicitAny": true, + "strictBindCallApply": true, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "dist"] +} diff --git a/apps-archived/techbase/apps/web/astro.config.mjs b/apps-archived/techbase/apps/web/astro.config.mjs new file mode 100644 index 000000000..cc240aa7f --- /dev/null +++ b/apps-archived/techbase/apps/web/astro.config.mjs @@ -0,0 +1,17 @@ +// @ts-check +import { defineConfig } from 'astro/config'; +import tailwind from '@astrojs/tailwind'; +import alpinejs from '@astrojs/alpinejs'; + +// https://astro.build/config +export default defineConfig({ + integrations: [ + tailwind(), + alpinejs(), + ], + // Für mehrsprachige Unterstützung + i18n: { + defaultLocale: 'de', + locales: ['de', 'en'], + } +}); diff --git a/apps-archived/techbase/apps/web/package.json b/apps-archived/techbase/apps/web/package.json new file mode 100644 index 000000000..4e7b8d0db --- /dev/null +++ b/apps-archived/techbase/apps/web/package.json @@ -0,0 +1,22 @@ +{ + "name": "@techbase/web", + "version": "0.0.1", + "private": true, + "type": "module", + "scripts": { + "dev": "astro dev", + "build": "astro build", + "preview": "astro preview" + }, + "dependencies": { + "@astrojs/alpinejs": "^0.4.4", + "@astrojs/tailwind": "^6.0.2", + "alpinejs": "^3.14.9", + "astro": "^5.5.5", + "fuse.js": "^7.1.0", + "tailwindcss": "^3.4.17" + }, + "devDependencies": { + "typescript": "^5.0.0" + } +} diff --git a/apps-archived/techbase/apps/web/public/debug.js b/apps-archived/techbase/apps/web/public/debug.js new file mode 100644 index 000000000..7db6d049a --- /dev/null +++ b/apps-archived/techbase/apps/web/public/debug.js @@ -0,0 +1,33 @@ +// Debug-Hilfsfunktionen +console.log('Debug-Tools geladen'); + +// Listener für fetch-Anfragen +const originalFetch = window.fetch; +window.fetch = function(...args) { + console.log('Fetch Request:', args[0], args[1]); + return originalFetch.apply(this, args) + .then(response => { + if (!response.ok) { + console.error('Fetch error:', response.status, response.statusText, response.url); + } + return response.clone() + .text() + .then(text => { + try { + const data = JSON.parse(text); + console.log('Fetch Response:', data); + } catch (e) { + console.log('Fetch Response (nicht-JSON):', text.substring(0, 500)); + } + return response; + }) + .catch(err => { + console.error('Error parsing response:', err); + return response; + }); + }) + .catch(error => { + console.error('Fetch failed:', error); + throw error; + }); +}; \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/public/favicon.svg b/apps-archived/techbase/apps/web/public/favicon.svg new file mode 100644 index 000000000..f157bd1c5 --- /dev/null +++ b/apps-archived/techbase/apps/web/public/favicon.svg @@ -0,0 +1,9 @@ + + + + diff --git a/apps-archived/techbase/apps/web/public/logos/sample-logo.svg b/apps-archived/techbase/apps/web/public/logos/sample-logo.svg new file mode 100644 index 000000000..137b2090d --- /dev/null +++ b/apps-archived/techbase/apps/web/public/logos/sample-logo.svg @@ -0,0 +1,7 @@ + + + + Sample Logo + + + \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/public/screenshots/chess1.PNG b/apps-archived/techbase/apps/web/public/screenshots/chess1.PNG new file mode 100644 index 000000000..35612e6e0 Binary files /dev/null and b/apps-archived/techbase/apps/web/public/screenshots/chess1.PNG differ diff --git a/apps-archived/techbase/apps/web/public/screenshots/chess2.PNG b/apps-archived/techbase/apps/web/public/screenshots/chess2.PNG new file mode 100644 index 000000000..19c937956 Binary files /dev/null and b/apps-archived/techbase/apps/web/public/screenshots/chess2.PNG differ diff --git a/apps-archived/techbase/apps/web/public/screenshots/chess3.PNG b/apps-archived/techbase/apps/web/public/screenshots/chess3.PNG new file mode 100644 index 000000000..2912ac2f4 Binary files /dev/null and b/apps-archived/techbase/apps/web/public/screenshots/chess3.PNG differ diff --git a/apps-archived/techbase/apps/web/public/screenshots/chess4.PNG b/apps-archived/techbase/apps/web/public/screenshots/chess4.PNG new file mode 100644 index 000000000..4929ce828 Binary files /dev/null and b/apps-archived/techbase/apps/web/public/screenshots/chess4.PNG differ diff --git a/apps-archived/techbase/apps/web/public/screenshots/chess5.PNG b/apps-archived/techbase/apps/web/public/screenshots/chess5.PNG new file mode 100644 index 000000000..6223a2d7c Binary files /dev/null and b/apps-archived/techbase/apps/web/public/screenshots/chess5.PNG differ diff --git a/apps-archived/techbase/apps/web/public/software.js b/apps-archived/techbase/apps/web/public/software.js new file mode 100644 index 000000000..1f97c2b2b --- /dev/null +++ b/apps-archived/techbase/apps/web/public/software.js @@ -0,0 +1,76 @@ +// Zentraler Daten-Store für Software-Informationen +document.addEventListener('alpine:init', () => { + Alpine.store('software', { + // Aktuelle Software, die im Detail angezeigt wird (aus MD-Datei geladen) + current: null, + + // Software zum Vergleich (über API geladen) + comparison: null, + + // Ähnliche Software-Optionen + similar: [], + + // Status-Flags + loading: false, + error: null, + + // Modus-Flags + compareMode: false, + + // Lädt Vergleichssoftware über API + async loadComparisonSoftware(id, locale) { + if (!id) return; + + this.loading = true; + this.error = null; + + try { + console.log(`Loading software data for ${id} in locale ${locale}`); + const response = await fetch(`/api/software/${id}.json?lang=${locale}`); + + if (!response.ok) { + throw new Error(`Error loading software: ${response.status}`); + } + + const data = await response.json(); + this.comparison = data; + console.log("Software data loaded:", data); + + return data; + } catch (error) { + console.error('Error loading comparison software:', error); + this.error = 'Failed to load software data. Please try again.'; + } finally { + this.loading = false; + } + }, + + // Setzt den aktuellen Vergleichsmodus + setCompareMode(mode) { + console.log(`Setting compare mode to: ${mode}`); + this.compareMode = mode; + + if (!mode) { + // Bei Beenden des Vergleichsmodus Daten zurücksetzen + this.comparison = null; + } + }, + + // Initialisiert ähnliche Software-Optionen + initSimilarSoftware(similarOptions) { + this.similar = similarOptions || []; + console.log(`Initialized ${this.similar.length} similar software options`); + }, + + // Initialisiert die aktuelle Software + initCurrentSoftware(software) { + this.current = software; + console.log("Current software initialized:", software.name); + } + }); + + // Debugging-Hilfsfunktion - nach Alpine-Initialisierung verfügbar + window.debugAlpine = function() { + console.log("Alpine Software Store:", Alpine.store('software')); + }; +}); \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/assets/astro.svg b/apps-archived/techbase/apps/web/src/assets/astro.svg new file mode 100644 index 000000000..8cf8fb0c7 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/assets/astro.svg @@ -0,0 +1 @@ + diff --git a/apps-archived/techbase/apps/web/src/assets/background.svg b/apps-archived/techbase/apps/web/src/assets/background.svg new file mode 100644 index 000000000..4b2be0ac0 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/assets/background.svg @@ -0,0 +1 @@ + diff --git a/apps-archived/techbase/apps/web/src/components/CommentSystem.astro b/apps-archived/techbase/apps/web/src/components/CommentSystem.astro new file mode 100644 index 000000000..252a1f4a6 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/components/CommentSystem.astro @@ -0,0 +1,162 @@ +--- +import { getLocaleFromUrl, loadTranslations } from '../utils/i18n'; +import { supabase } from '../utils/supabase'; + +const { softwareId } = Astro.props; +const locale = getLocaleFromUrl(Astro.url); +const t = await loadTranslations(locale); + +// Versuche, Kommentare aus Supabase zu laden, mit Fallback für den Fall, +// dass Supabase nicht verfügbar ist +let comments = []; +try { + if (supabase) { + const { data, error } = await supabase + .from('comments') + .select('*') + .eq('software_id', softwareId) + .eq('is_approved', true) + .order('created_at', { ascending: false }); + + if (!error && data) { + comments = data; + } + } +} catch (error) { + console.error('Error fetching comments:', error); + // Weitermachen mit leerem Array +} +--- + +
+

{t.comments.title}

+ + {comments.length > 0 ? ( +
+ {comments.map(comment => ( +
+
+
{comment.user_name}
+
{new Date(comment.created_at).toLocaleDateString()}
+
+

{comment.comment}

+
+ ))} +
+ ) : ( +
+ {t.comments.noComments} +
+ )} + +
+

{t.comments.writeComment}

+ +
+
+ + +
+ +
+ + +
+ + + +
+

+
+
+
+
\ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/components/ComparisonTable.astro b/apps-archived/techbase/apps/web/src/components/ComparisonTable.astro new file mode 100644 index 000000000..92e2c6833 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/components/ComparisonTable.astro @@ -0,0 +1,288 @@ +--- +import { getLocaleFromUrl, loadTranslations } from '../utils/i18n'; + +const { softwareList } = Astro.props; +const locale = getLocaleFromUrl(Astro.url); +const t = await loadTranslations(locale); + +// Get all unique platforms from the software list +const allPlatforms = new Set(); +softwareList.forEach(software => { + software.platforms?.forEach(platform => allPlatforms.add(platform)); +}); +const platforms = Array.from(allPlatforms).sort(); + +// Get all unique features from the software list +const allFeatures = new Set(); +softwareList.forEach(software => { + software.features?.forEach(feature => allFeatures.add(feature)); +}); +const features = Array.from(allFeatures).sort(); + +// Get all metric types +const metrics = [ + { id: 'easeOfUse', name: t.voting.usability }, + { id: 'featureRichness', name: t.voting.features }, + { id: 'valueForMoney', name: t.voting.value }, + { id: 'support', name: t.voting.support }, + { id: 'reliability', name: t.voting.reliability }, +]; +--- + +
+
+ + + + + + {softwareList.map(software => ( + + ))} + + + + + + + + + + + + + {softwareList.map(software => ( + + ))} + + + + + + {softwareList.map(software => ( + + ))} + + + + + + {softwareList.map(software => ( + + ))} + + + + + + + + + {['Free', 'Paid', 'Subscription'].map(pricingModel => ( + + + {softwareList.map(software => { + const plan = software.pricing?.find(p => p.model.toLowerCase().includes(pricingModel.toLowerCase())); + return ( + + ); + })} + + ))} + + + + + + + + + + {softwareList.map(software => { + const metrics = software.metrics || {}; + const metricKeys = Object.keys(metrics); + let averageRating = 0; + let totalVotes = 0; + + if (metricKeys.length > 0) { + let totalRating = 0; + metricKeys.forEach(key => { + totalRating += metrics[key].average || 0; + totalVotes += metrics[key].count || 0; + }); + averageRating = totalRating / metricKeys.length; + } + + return ( + + ); + })} + + + + {metrics.map(metric => ( + + + {softwareList.map(software => { + const metricData = software.metrics?.[metric.id] || { average: 0, count: 0 }; + const rating = metricData.average || 0; + const voteCount = metricData.count || 0; + + return ( + + ); + })} + + ))} + + + + + + + + {features.map(feature => ( + + + {softwareList.map(software => { + const hasFeature = software.features?.some(f => f === feature || f.includes(feature)); + return ( + + ); + })} + + ))} + + + + + + + + {platforms.map(platform => ( + + + {softwareList.map(software => { + const supportsPlatform = software.platforms?.includes(platform); + return ( + + ); + })} + + ))} + +
+ Features + +
+ {software.logo && ( +
+ {software.name} +
+ )} + + {software.name} + +
+
+ General Information +
+ Description + +

{software.description}

+
+ Website + + + Visit site + +
+ Categories + +
+ {software.categories?.map(category => ( + + {category} + + ))} +
+
+ Pricing +
+ {pricingModel} Plan + + {plan ? ( +
+
{plan.price}
+
    + {plan.features?.slice(0, 3).map(feature => ( +
  • {feature}
  • + ))} + {plan.features?.length > 3 && ( +
  • +{plan.features.length - 3} more
  • + )} +
+
+ ) : ( + + )} +
+ Ratings +
+ Average Rating + +
+ + {averageRating.toFixed(1)} +
+ {totalVotes > 0 && ( +
+ Based on {totalVotes} ratings +
+ )} +
+ {metric.name} + +
+
+ {rating.toFixed(1)}/5 + {voteCount} votes +
+
+
+
+
+
+ Features +
+ {feature} + + {hasFeature ? ( + + + + ) : ( + + + + )} +
+ Platforms +
+ {platform} + + {supportsPlatform ? ( + + + + ) : ( + + + + )} +
+
+
\ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/components/DeveloperCard.astro b/apps-archived/techbase/apps/web/src/components/DeveloperCard.astro new file mode 100644 index 000000000..417566788 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/components/DeveloperCard.astro @@ -0,0 +1,58 @@ +--- +const { developer } = Astro.props; +--- + +
+
+
+ {developer.logo ? ( + {developer.name} + ) : ( +
+ {developer.name.charAt(0)} +
+ )} + +
+

+ {developer.name} +

+ + {developer.softwareCount > 0 && ( +

+ {developer.softwareCount} {developer.softwareCount === 1 ? 'Software' : 'Software'} +

+ )} +
+
+ + {developer.country && ( +
+ + + + + {developer.country} + +
+ )} +
+ +
+

+ {developer.description} +

+
+ +
+
+ + Explore → + +
+
+
\ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/components/FilterSidebar.astro b/apps-archived/techbase/apps/web/src/components/FilterSidebar.astro new file mode 100644 index 000000000..74d9a1515 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/components/FilterSidebar.astro @@ -0,0 +1,227 @@ +--- +import { getLocaleFromUrl } from '../utils/i18n'; + +const { categories = [], platforms = [] } = Astro.props; +const locale = getLocaleFromUrl(Astro.url); + +// Define price ranges +const priceRanges = [ + { id: 'free', label: 'Free' }, + { id: 'paid', label: 'Paid' }, + { id: 'subscription', label: 'Subscription' } +]; + +// Define rating filters +const ratingFilters = [ + { metric: 'easeOfUse', label: 'Ease of Use' }, + { metric: 'featureRichness', label: 'Feature Richness' }, + { metric: 'valueForMoney', label: 'Value for Money' }, + { metric: 'support', label: 'Support' }, + { metric: 'reliability', label: 'Reliability' } +]; +--- + +
+ +
+ +
+ + +
+ +
+

Categories

+
+ {categories.map(category => ( + + ))} + {categories.length === 0 && ( +

No additional categories available

+ )} +
+
+ + +
+

Platforms

+
+ {platforms.map(platform => ( + + ))} + {platforms.length === 0 && ( +

No platform filters available

+ )} +
+
+ + +
+

Price

+
+ {priceRanges.map(range => ( + + ))} +
+
+ + +
+

Minimum Rating

+
+ {ratingFilters.map(filter => ( +
+
+ + +
+ +
+ Any + 5★ +
+
+ ))} +
+
+ + +
+ +
+
+
\ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/components/Footer.astro b/apps-archived/techbase/apps/web/src/components/Footer.astro new file mode 100644 index 000000000..acb6cd712 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/components/Footer.astro @@ -0,0 +1,38 @@ +--- +import { getLocaleFromUrl } from '../utils/i18n'; + +const locale = getLocaleFromUrl(Astro.url); +const year = new Date().getFullYear(); +--- + +
+
+
+
+

TechBase

+

Die zentrale Plattform für Software-Vergleiche und Bewertungen

+
+ +
+

Links

+ +
+ +
+

Rechtliches

+ +
+
+ +
+ © {year} TechBase. Alle Rechte vorbehalten. +
+
+
\ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/components/Header.astro b/apps-archived/techbase/apps/web/src/components/Header.astro new file mode 100644 index 000000000..8f0b63fdf --- /dev/null +++ b/apps-archived/techbase/apps/web/src/components/Header.astro @@ -0,0 +1,91 @@ +--- +import LanguageSwitcher from './LanguageSwitcher.astro'; +import ThemeToggle from './ThemeToggle.astro'; +import { getLocaleFromUrl } from '../utils/i18n'; +import { loadTranslations } from '../utils/i18n'; + +const locale = getLocaleFromUrl(Astro.url); +const t = await loadTranslations(locale); + +// Get current path for active link highlighting +const currentPath = Astro.url.pathname; +--- + +
+ + + + +
+ + \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/components/LanguageSwitcher.astro b/apps-archived/techbase/apps/web/src/components/LanguageSwitcher.astro new file mode 100644 index 000000000..21528cd36 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/components/LanguageSwitcher.astro @@ -0,0 +1,52 @@ +--- +import { getLocaleFromUrl, getLocalizedUrl } from '../utils/i18n'; + +const locale = getLocaleFromUrl(Astro.url); +const pathname = Astro.url.pathname; +const currentPath = pathname.replace(new RegExp(`^/${locale}`), '') || '/'; + +const languages = [ + { code: 'de', name: 'Deutsch' }, + { code: 'en', name: 'English' } +]; +--- + +
+ + + +
\ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/components/SearchBar.astro b/apps-archived/techbase/apps/web/src/components/SearchBar.astro new file mode 100644 index 000000000..4dee59252 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/components/SearchBar.astro @@ -0,0 +1,150 @@ +--- +import { getLocaleFromUrl } from '../utils/i18n'; + +const { placeholder = 'Search...', showButton = true } = Astro.props; +const locale = getLocaleFromUrl(Astro.url); +--- + +
+
+ + + {showButton && ( + + )} + +
+ + + + +
+
+ + +
+ + + + + \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/components/SoftwareCard.astro b/apps-archived/techbase/apps/web/src/components/SoftwareCard.astro new file mode 100644 index 000000000..07f728ef4 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/components/SoftwareCard.astro @@ -0,0 +1,143 @@ +--- +import { getLocaleFromUrl } from '../utils/i18n'; +import { getCollection } from 'astro:content'; + +const { software } = Astro.props; +const locale = getLocaleFromUrl(Astro.url); + +// Get developer info if available +let developer = null; +if (software.developer) { + const developers = await getCollection('developers'); + developer = developers.find(dev => dev.id === `${locale}/${software.developer}`); + + // Fallback to other locale if not found + if (!developer) { + const otherLocale = locale === 'en' ? 'de' : 'en'; + developer = developers.find(dev => dev.id === `${otherLocale}/${software.developer}`); + } +} + +// Calculate average rating across all metrics +const metrics = software.metrics || {}; +const metricKeys = Object.keys(metrics); +let averageRating = 0; +let totalVotes = 0; + +if (metricKeys.length > 0) { + let totalRating = 0; + metricKeys.forEach(key => { + totalRating += metrics[key].average || 0; + totalVotes += metrics[key].count || 0; + }); + averageRating = totalRating / metricKeys.length; +} + +// Format average rating to one decimal place +const formattedRating = averageRating.toFixed(1); +--- + +
+ +
+
+ + +

+ {software.description} +

+ +
+ {software.categories?.slice(0, 3).map(category => ( + + {category} + + ))} + {software.categories?.length > 3 && ( + + +{software.categories.length - 3} + + )} +
+ +
+ {software.supportedPlatforms ? ( + <> + {software.supportedPlatforms?.slice(0, 4).map(platform => ( + + {platform === 'Windows' && '🪟 '} + {platform === 'macOS' && '🍎 '} + {platform === 'Linux' && '🐧 '} + {platform === 'Android' && '🤖 '} + {platform === 'iOS' && '📱 '} + {platform === 'Web' && '🌐 '} + {platform} + + ))} + {software.supportedPlatforms?.length > 4 && ( + + +{software.supportedPlatforms.length - 4} + + )} + + ) : ( + <> + {software.platforms?.slice(0, 4).map(platform => ( + + {platform === 'Windows' && '🪟 '} + {platform === 'macOS' && '🍎 '} + {platform === 'Linux' && '🐧 '} + {platform === 'Android' && '🤖 '} + {platform === 'iOS' && '📱 '} + {platform === 'Web' && '🌐 '} + {platform} + + ))} + {software.platforms?.length > 4 && ( + + +{software.platforms.length - 4} + + )} + + )} +
+
+ +
+
+
+ + {formattedRating} + {totalVotes > 0 && ( + ({totalVotes}) + )} +
+ + + Details → + +
+
+
+ +
\ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/components/ThemeToggle.astro b/apps-archived/techbase/apps/web/src/components/ThemeToggle.astro new file mode 100644 index 000000000..afac47d89 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/components/ThemeToggle.astro @@ -0,0 +1,55 @@ +--- +// ThemeToggle component for switching between light and dark modes +--- + + + + \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/components/VotingSystem.astro b/apps-archived/techbase/apps/web/src/components/VotingSystem.astro new file mode 100644 index 000000000..4a0fcbdcb --- /dev/null +++ b/apps-archived/techbase/apps/web/src/components/VotingSystem.astro @@ -0,0 +1,140 @@ +--- +import { getLocaleFromUrl, loadTranslations } from '../utils/i18n'; + +const { softwareId } = Astro.props; +const locale = getLocaleFromUrl(Astro.url); +const t = await loadTranslations(locale); + +const metrics = [ + { id: 'usability', name: t.voting.usability }, + { id: 'features', name: t.voting.features }, + { id: 'performance', name: t.voting.performance }, + { id: 'support', name: t.voting.support }, + { id: 'value', name: t.voting.value } +]; +--- + +
+

{t.software.vote}

+ +
+ +
+ + + +
+

+
+
\ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/components/Welcome.astro b/apps-archived/techbase/apps/web/src/components/Welcome.astro new file mode 100644 index 000000000..52e033341 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/components/Welcome.astro @@ -0,0 +1,210 @@ +--- +import astroLogo from '../assets/astro.svg'; +import background from '../assets/background.svg'; +--- + + + + diff --git a/apps-archived/techbase/apps/web/src/components/software/CommentSection.astro b/apps-archived/techbase/apps/web/src/components/software/CommentSection.astro new file mode 100644 index 000000000..054a87a29 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/components/software/CommentSection.astro @@ -0,0 +1,12 @@ +--- +import { loadTranslations } from '../../utils/i18n'; +import CommentSystem from '../CommentSystem.astro'; + +const { softwareId, locale } = Astro.props; +const t = await loadTranslations(locale); +--- + +
+

{t.software.comments || 'Comments'}

+ +
\ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/components/software/ComparePanel.astro b/apps-archived/techbase/apps/web/src/components/software/ComparePanel.astro new file mode 100644 index 000000000..ebd8b6062 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/components/software/ComparePanel.astro @@ -0,0 +1,775 @@ +--- +import { loadTranslations } from '../../utils/i18n'; +import SoftwareRatings from './SoftwareRatings.astro'; +import CommentSystem from '../CommentSystem.astro'; + +const { locale } = Astro.props; +const t = await loadTranslations(locale); +--- + +
+ +
+ + + + +
+
+ +
+
+

Select Software

+
+
+
+ + +
+ + + +
+
+ + +
+
+

Select Another Software

+
+ +
+
+ +
+ + + + + + +
+ +
+
+
+ + + + + + +
+ + \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/components/software/ComparisonView.astro b/apps-archived/techbase/apps/web/src/components/software/ComparisonView.astro new file mode 100644 index 000000000..e5793d658 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/components/software/ComparisonView.astro @@ -0,0 +1,535 @@ +--- +import { loadTranslations } from '../../utils/i18n'; + +const { currentSoftware, similarSoftware, locale } = Astro.props; +const t = await loadTranslations(locale); +--- + +
+
+

{t.common.compare || 'Compare'}

+

{t.software.compareDescription || 'Compare this software with others to find the best solution for your needs.'}

+ + + {t.software.compare || 'Compare'} + +
+ + +
+
+

{t.software.selectAnother}

+
+ +
+
+ +
+ + +
+
+ + +
+
+ + +
+
+ +
+
+

+
+
+
+ + +
+ +
+
+ + + + + Loading software details... +
+
+ + +
+ + +
+ + +
+
+ + + + + + \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/components/software/PricingSection.astro b/apps-archived/techbase/apps/web/src/components/software/PricingSection.astro new file mode 100644 index 000000000..0487823c5 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/components/software/PricingSection.astro @@ -0,0 +1,86 @@ +--- +import { loadTranslations } from '../../utils/i18n'; + +const { pricing, locale } = Astro.props; +const t = await loadTranslations(locale); +--- + +
+
+

{t.software.pricing || 'Pricing'}

+ +
+ + +
+
+ +
+ {pricing.map(plan => ( +
+

{plan.model}

+
+
+

{plan.price}

+
+ +
+ +
    + {plan.features.map(feature => ( +
  • + + + + {feature} +
  • + ))} +
+
+ ))} +
+
+ + \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/components/software/ScreenshotGallery.astro b/apps-archived/techbase/apps/web/src/components/software/ScreenshotGallery.astro new file mode 100644 index 000000000..86d6827dc --- /dev/null +++ b/apps-archived/techbase/apps/web/src/components/software/ScreenshotGallery.astro @@ -0,0 +1,96 @@ +--- +const { screenshots, softwareName } = Astro.props; +--- + +
+

Screenshots

+
+ {/* Navigation buttons - outside the scrolling area */} + + + + {/* Scrollable gallery area */} + +
+
+ + \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/components/software/SoftwareDetail.astro b/apps-archived/techbase/apps/web/src/components/software/SoftwareDetail.astro new file mode 100644 index 000000000..087d197be --- /dev/null +++ b/apps-archived/techbase/apps/web/src/components/software/SoftwareDetail.astro @@ -0,0 +1,375 @@ +--- +import { loadTranslations } from '../../utils/i18n'; +import SoftwareOverview from './SoftwareOverview.astro'; +import SoftwareRatings from './SoftwareRatings.astro'; +import ComparisonView from './ComparisonView.astro'; +import ComparePanel from './ComparePanel.astro'; +import CommentSystem from '../CommentSystem.astro'; + +const { software, similarSoftware, metrics, locale } = Astro.props; +const t = await loadTranslations(locale); + +// Daten für den Client vorbereiten +const softwareJson = JSON.stringify(software); +const similarSoftwareJson = JSON.stringify(similarSoftware); +--- + +
+ +
+ +
+ +
+ + + {software.logo && ( +
+ {software.name} +
+ )} + +
+

{software.name}

+
+ {software.categories.map((category, index) => ( + <> + + {category} + + {index < software.categories.length - 1 && ( + + )} + + ))} +
+
+ + +
+ + +
+
+
+ +
+ + + + +
+
+

{t.software.pricing || 'Pricing'}

+ +
+ + +
+
+ +
+ {software.pricing.map(plan => ( +
+

{plan.model}

+
+
+

{plan.price}

+
+ +
+ +
    + {plan.features.map(feature => ( +
  • + + + + {feature} +
  • + ))} +
+
+ ))} +
+
+ + +
+

Kommentare

+ +
+
+ + +
+ + + + + +
+
+
+
+ + +
+ + + +
+ + + +
+ + \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/components/software/SoftwareHeader.astro b/apps-archived/techbase/apps/web/src/components/software/SoftwareHeader.astro new file mode 100644 index 000000000..566e1385b --- /dev/null +++ b/apps-archived/techbase/apps/web/src/components/software/SoftwareHeader.astro @@ -0,0 +1,80 @@ +--- +import { loadTranslations } from '../../utils/i18n'; + +const { software, locale, isCompareMode = false } = Astro.props; +const t = await loadTranslations(locale); +--- + +
+ + {isCompareMode && ( + + )} + + {software.logo && ( +
+ {software.name} +
+ )} + +
+

{software.name}

+
+ {software.categories.map((category, index) => ( + <> + + {category} + + {index < software.categories.length - 1 && ( + + )} + + ))} +
+
+ + +
+ + + \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/components/software/SoftwareOverview.astro b/apps-archived/techbase/apps/web/src/components/software/SoftwareOverview.astro new file mode 100644 index 000000000..8cd2dba21 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/components/software/SoftwareOverview.astro @@ -0,0 +1,36 @@ +--- +import { loadTranslations } from '../../utils/i18n'; +import ScreenshotGallery from './ScreenshotGallery.astro'; + +const { software, locale } = Astro.props; +const t = await loadTranslations(locale); +--- + +
+

{t.common.overview || 'Overview'}

+

{software.description}

+ + {software.screenshots && software.screenshots.length > 0 && ( + + )} + +

{t.software.features || 'Features'}

+
    + {software.features.map(feature => ( +
  • {feature}
  • + ))} +
+ +

{t.software.platforms || 'Platforms'}

+
+ {software.platforms.map(platform => ( + + {platform} + + ))} +
+ +
+ {t.software.lastUpdated || 'Last Updated'}: {new Date(software.lastUpdated).toLocaleDateString()} +
+
\ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/components/software/SoftwarePanel.astro b/apps-archived/techbase/apps/web/src/components/software/SoftwarePanel.astro new file mode 100644 index 000000000..061a4f13f --- /dev/null +++ b/apps-archived/techbase/apps/web/src/components/software/SoftwarePanel.astro @@ -0,0 +1,1496 @@ +--- +import { loadTranslations } from '../../utils/i18n'; +import SoftwareOverview from './SoftwareOverview.astro'; +import SoftwareRatings from './SoftwareRatings.astro'; +import CommentSystem from '../CommentSystem.astro'; + +interface Props { + software: any; + similarSoftware?: any[]; + metrics?: any; + locale: string; + mode: 'detail' | 'comparison'; + isCompareActive?: boolean; +} + +const { software, similarSoftware = [], metrics = {}, locale, mode, isCompareActive = false } = Astro.props; +const t = await loadTranslations(locale); + +// Daten für den Client vorbereiten +const softwareJson = JSON.stringify(software); +const similarSoftwareJson = JSON.stringify(similarSoftware); +--- + +
+ +
+ + +
+
+ {software.name} +
+
+

+ {mode === 'comparison' ? 'Select Software' : software.name} +

+
+ {mode === 'detail' && software.categories && software.categories.map((category, index) => ( + <> + + {category} + + {index < software.categories.length - 1 && ( + + )} + + ))} +
+
+
+ + +
+ {mode === 'detail' ? ( +
+ + +
+ ) : ( + <> + + + + )} +
+
+ + {mode === 'comparison' && ( + +
+
+

Select Another Software

+
+ +
+
+ +
+ + + + + + +
+ +
+
+
+ )} + + +
+ {mode === 'comparison' && ( +
+ + + + + Loading software details... +
+ )} + +
+
+
+ +
+ + {mode === 'detail' ? ( + + ) : ( +
+

Overview

+

+ + + + + +

Features

+
    + + +
    +

    Platforms

    +
    +
    + + +
    + Last Updated: +
    +
    + )} + + + {mode === 'detail' ? ( +
    +
    +

    {t.software.pricing || 'Pricing'}

    + +
    + + +
    +
    + +
    + {software.pricing && software.pricing.map(plan => ( +
    +

    {plan.model}

    +
    +
    +

    {plan.price}

    +
    + +
    + +
      + {plan.features && plan.features.map(feature => ( +
    • + + + + {feature} +
    • + ))} +
    +
    + ))} +
    +
    + ) : ( +
    +
    +

    Pricing

    + +
    + + +
    +
    +
    + +
    +
    + )} + + +
    +

    Kommentare

    + {mode === 'detail' ? ( + + ) : ( +
    +

    Comments will be loaded when comparing specific software.

    +
    + )} +
    + + +
    + {mode === 'detail' ? ( + + {t.common.visit || 'Visit Website'} + + ) : ( + + )} +
    +
    + + +
    + + {mode === 'detail' ? ( + + ) : ( +
    +

    Ratings

    +
    + +
    +
    + Ease of Use + 0.0 / 5 +
    +
    +
    +
    +
    0 votes
    +
    + + +
    +
    + Features + 0.0 / 5 +
    +
    +
    +
    +
    0 votes
    +
    + + +
    +
    + Value for Money + 0.0 / 5 +
    +
    +
    +
    +
    0 votes
    +
    + + +
    +
    + Support + 0.0 / 5 +
    +
    +
    +
    +
    0 votes
    +
    + + +
    +
    + Reliability + 0.0 / 5 +
    +
    +
    +
    +
    0 votes
    +
    +
    +
    + )} +
    +
    +
    +
    +
    + + {mode === 'comparison' && ( + + + )} +
    + +{mode === 'detail' && ( + +)} + +{mode === 'comparison' && ( + +)} \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/components/software/SoftwareRatings.astro b/apps-archived/techbase/apps/web/src/components/software/SoftwareRatings.astro new file mode 100644 index 000000000..4f9a31292 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/components/software/SoftwareRatings.astro @@ -0,0 +1,41 @@ +--- +import { loadTranslations } from '../../utils/i18n'; +import VotingSystem from '../VotingSystem.astro'; + +const { softwareId, metrics, locale } = Astro.props; +const t = await loadTranslations(locale); +--- + +
    +
    +

    {t.common.ratings || 'Ratings'}

    + +
    + {Object.entries(metrics).map(([key, value]) => { + const metricName = t.voting[key] || key; + return ( +
    +
    + {metricName} + {value.average.toFixed(1)} / 5 +
    +
    +
    +
    +
    + {value.count} {t.common.votes || 'votes'} +
    +
    + ); + })} +
    +
    + +
    +

    Bewerten

    + +
    +
    \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/de/browser.md b/apps-archived/techbase/apps/web/src/content/categories/de/browser.md new file mode 100644 index 000000000..0015d2836 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/de/browser.md @@ -0,0 +1,5 @@ +--- +name: Webbrowser +description: Software-Anwendungen für den Zugriff auf Websites und Webanwendungen. +icon: 🌐 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/de/cloud-storage.md b/apps-archived/techbase/apps/web/src/content/categories/de/cloud-storage.md new file mode 100644 index 000000000..c41c5f381 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/de/cloud-storage.md @@ -0,0 +1,5 @@ +--- +name: Cloud-Speicher +description: Online-Speicherlösungen, die Dateifreigabe, Backup und Synchronisierung zwischen Geräten ermöglichen. +icon: ☁️ +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/de/design.md b/apps-archived/techbase/apps/web/src/content/categories/de/design.md new file mode 100644 index 000000000..9f158a61c --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/de/design.md @@ -0,0 +1,5 @@ +--- +name: Design & Grafik +description: Software-Tools zum Erstellen, Bearbeiten und Manipulieren von visuellen Inhalten, einschließlich Fotos, Illustrationen und digitaler Kunst. +icon: 🎨 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/de/document.md b/apps-archived/techbase/apps/web/src/content/categories/de/document.md new file mode 100644 index 000000000..5db738b5b --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/de/document.md @@ -0,0 +1,5 @@ +--- +name: Dokumentenverwaltung +description: Anwendungen zum Erstellen, Anzeigen, Bearbeiten und Verwalten von PDF und anderen Dokumentformaten. +icon: 📄 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/de/email.md b/apps-archived/techbase/apps/web/src/content/categories/de/email.md new file mode 100644 index 000000000..a48393520 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/de/email.md @@ -0,0 +1,5 @@ +--- +name: E-Mail +description: E-Mail-Clients und -Dienste für persönliche und professionelle Kommunikation. +icon: 📧 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/de/games.md b/apps-archived/techbase/apps/web/src/content/categories/de/games.md new file mode 100644 index 000000000..2dcd73634 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/de/games.md @@ -0,0 +1,5 @@ +--- +name: Spiele +description: Software für Unterhaltung, Brettspiele, Lernspiele und Spiel-Plattformen +icon: gamepad +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/de/kategorie1.md b/apps-archived/techbase/apps/web/src/content/categories/de/kategorie1.md new file mode 100644 index 000000000..00df55917 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/de/kategorie1.md @@ -0,0 +1,5 @@ +--- +name: Kategorie 1 +description: Dies ist eine Beispiel-Kategorie für Software-Produkte. +icon: 📊 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/de/navigation.md b/apps-archived/techbase/apps/web/src/content/categories/de/navigation.md new file mode 100644 index 000000000..5d65c2ad3 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/de/navigation.md @@ -0,0 +1,5 @@ +--- +name: Navigation +description: Tools für Routenplanung, Schritt-für-Schritt-Anweisungen und Reiseführung. +icon: 🧭 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/de/office-suite.md b/apps-archived/techbase/apps/web/src/content/categories/de/office-suite.md new file mode 100644 index 000000000..839a4a741 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/de/office-suite.md @@ -0,0 +1,5 @@ +--- +name: Office-Suiten +description: Softwaresammlungen von Produktivitätsanwendungen für die Büroarbeit. +icon: 📝 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/de/operating-system.md b/apps-archived/techbase/apps/web/src/content/categories/de/operating-system.md new file mode 100644 index 000000000..f7fdeb73b --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/de/operating-system.md @@ -0,0 +1,5 @@ +--- +name: Betriebssysteme +description: Software, die die Computerhardware verwaltet und gemeinsame Dienste für Computerprogramme bereitstellt. +icon: 💻 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/de/productivity.md b/apps-archived/techbase/apps/web/src/content/categories/de/productivity.md new file mode 100644 index 000000000..cab58b94f --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/de/productivity.md @@ -0,0 +1,5 @@ +--- +name: Produktivität +description: Anwendungen und Tools zur Steigerung von Effizienz, Organisation und Arbeitsabläufen. +icon: ⚡ +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/de/travel.md b/apps-archived/techbase/apps/web/src/content/categories/de/travel.md new file mode 100644 index 000000000..96275bc6a --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/de/travel.md @@ -0,0 +1,5 @@ +--- +name: Reisen +description: Anwendungen für Reiseplanung, Buchung und Erkundung von Reisezielen. +icon: ✈️ +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/en/browser.md b/apps-archived/techbase/apps/web/src/content/categories/en/browser.md new file mode 100644 index 000000000..f5a8d962c --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/en/browser.md @@ -0,0 +1,5 @@ +--- +name: Web Browsers +description: Software applications for accessing websites and web applications. +icon: 🌐 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/en/category1.md b/apps-archived/techbase/apps/web/src/content/categories/en/category1.md new file mode 100644 index 000000000..48751da75 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/en/category1.md @@ -0,0 +1,5 @@ +--- +name: Category 1 +description: This is a sample category for software products. +icon: 📊 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/en/cloud-storage.md b/apps-archived/techbase/apps/web/src/content/categories/en/cloud-storage.md new file mode 100644 index 000000000..3b319a556 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/en/cloud-storage.md @@ -0,0 +1,5 @@ +--- +name: Cloud Storage +description: Online storage solutions that enable file sharing, backup, and synchronization across devices. +icon: ☁️ +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/en/design.md b/apps-archived/techbase/apps/web/src/content/categories/en/design.md new file mode 100644 index 000000000..1ec21969e --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/en/design.md @@ -0,0 +1,5 @@ +--- +name: Design & Graphics +description: Software tools for creating, editing, and manipulating visual content, including photos, illustrations, and digital art. +icon: 🎨 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/en/document.md b/apps-archived/techbase/apps/web/src/content/categories/en/document.md new file mode 100644 index 000000000..9cce059b7 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/en/document.md @@ -0,0 +1,5 @@ +--- +name: Document Management +description: Applications for creating, viewing, editing, and managing PDF and other document formats. +icon: 📄 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/en/email.md b/apps-archived/techbase/apps/web/src/content/categories/en/email.md new file mode 100644 index 000000000..1f39779b0 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/en/email.md @@ -0,0 +1,5 @@ +--- +name: Email +description: Email clients and services for personal and professional communication. +icon: 📧 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/en/games.md b/apps-archived/techbase/apps/web/src/content/categories/en/games.md new file mode 100644 index 000000000..6adebef8a --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/en/games.md @@ -0,0 +1,5 @@ +--- +name: Games +description: Software for entertainment, board games, educational games and gaming platforms +icon: gamepad +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/en/navigation.md b/apps-archived/techbase/apps/web/src/content/categories/en/navigation.md new file mode 100644 index 000000000..76154a2e0 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/en/navigation.md @@ -0,0 +1,5 @@ +--- +name: Navigation +description: Tools for route planning, turn-by-turn directions, and travel guidance. +icon: 🧭 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/en/office-suite.md b/apps-archived/techbase/apps/web/src/content/categories/en/office-suite.md new file mode 100644 index 000000000..1ddcd60b4 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/en/office-suite.md @@ -0,0 +1,5 @@ +--- +name: Office Suites +description: Software collections of productivity applications designed for office work. +icon: 📝 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/en/operating-system.md b/apps-archived/techbase/apps/web/src/content/categories/en/operating-system.md new file mode 100644 index 000000000..b4b7cb5ee --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/en/operating-system.md @@ -0,0 +1,5 @@ +--- +name: Operating Systems +description: Software that manages computer hardware and provides common services for computer programs. +icon: 💻 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/en/productivity.md b/apps-archived/techbase/apps/web/src/content/categories/en/productivity.md new file mode 100644 index 000000000..8840afde7 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/en/productivity.md @@ -0,0 +1,5 @@ +--- +name: Productivity +description: Applications and tools designed to enhance efficiency, organization, and workflow. +icon: ⚡ +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/categories/en/travel.md b/apps-archived/techbase/apps/web/src/content/categories/en/travel.md new file mode 100644 index 000000000..e08503c1e --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/categories/en/travel.md @@ -0,0 +1,5 @@ +--- +name: Travel +description: Applications for travel planning, booking, and exploration of destinations. +icon: ✈️ +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/config.ts b/apps-archived/techbase/apps/web/src/content/config.ts new file mode 100644 index 000000000..a239b2499 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/config.ts @@ -0,0 +1,78 @@ +import { defineCollection, z } from 'astro:content'; + +// Schema für Developer-Einträge +export const developersCollection = defineCollection({ + type: 'content', + schema: z.object({ + name: z.string(), + description: z.string(), + logo: z.string().optional(), + website: z.string().url(), + foundedYear: z.number().optional(), + headquarters: z.string().optional(), + country: z.string().optional(), + employees: z.string().optional(), + revenue: z.string().optional(), + industry: z.string().optional(), + keyProducts: z.array(z.string()).optional(), + socialMedia: z.object({ + twitter: z.string().optional(), + linkedin: z.string().optional(), + github: z.string().optional(), + facebook: z.string().optional() + }).optional() + }) +}); + +// Schema für Software-Einträge +export const softwareCollection = defineCollection({ + type: 'content', + schema: z.object({ + name: z.string(), + description: z.string(), + logo: z.string().optional(), + website: z.string().url(), + screenshots: z.array(z.string()).optional(), + pricing: z.array(z.object({ + model: z.string(), + price: z.string(), + yearly_price: z.string().optional(), + features: z.array(z.string()) + })), + features: z.array(z.string()), + categories: z.array(z.string()), + platforms: z.array(z.string()), + supportedPlatforms: z.array(z.string()).optional(), + developer: z.string().optional(), + lastUpdated: z.coerce.date() + }) +}); + +// Schema für Kategorien +export const categoriesCollection = defineCollection({ + type: 'content', + schema: z.object({ + name: z.string(), + description: z.string(), + icon: z.string().optional() + }) +}); + +// Schema für Übersetzungen +export const translationsCollection = defineCollection({ + type: 'data', +}); + +// i18n-Konfiguration +export const i18nConfig = { + defaultLocale: 'de', + locales: ['de', 'en'] +}; + +// Collections registrieren +export const collections = { + 'software': softwareCollection, + 'categories': categoriesCollection, + 'translations': translationsCollection, + 'developers': developersCollection +}; \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/developers/de/adobe.md b/apps-archived/techbase/apps/web/src/content/developers/de/adobe.md new file mode 100644 index 000000000..00f979224 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/developers/de/adobe.md @@ -0,0 +1,36 @@ +--- +name: Adobe Inc. +description: Amerikanisches multinationales Softwareunternehmen mit Fokus auf Kreativsoftwareprodukten. +logo: /logos/sample-logo.svg +website: https://www.adobe.com +foundedYear: 1982 +headquarters: San Jose, Kalifornien +country: USA +employees: "26.000+" +revenue: "17,6 Milliarden $ (2022)" +industry: "Software, Creative Cloud, Dokumentenmanagement" +keyProducts: + - "Photoshop" + - "Illustrator" + - "Acrobat" + - "Premiere Pro" + - "After Effects" + - "InDesign" + - "Creative Cloud" + - "Experience Cloud" +socialMedia: + twitter: https://twitter.com/Adobe + linkedin: https://www.linkedin.com/company/adobe/ + github: https://github.com/adobe + facebook: https://www.facebook.com/Adobe +--- + +Adobe Inc. (früher Adobe Systems Incorporated) wurde im Dezember 1982 von John Warnock und Charles Geschke gegründet, die zuvor bei Xerox PARC gearbeitet hatten. Das Unternehmen war Pionier bei der Entwicklung von PostScript, einer Seitenbeschreibungssprache, die das Desktop-Publishing revolutionierte. + +Adobes Transformation begann mit der Einführung von Photoshop im Jahr 1990, das schnell zum Industriestandard für die Bildbearbeitung wurde. Im Laufe der Jahre erweiterte Adobe sein Produktportfolio um eine umfassende Suite von kreativen Werkzeugen, darunter Illustrator für Vektorgrafiken, InDesign für Seitenlayout und Premiere Pro für Videobearbeitung. + +Im Jahr 2013 vollzog Adobe einen bedeutenden strategischen Wandel, indem es vom traditionellen Modell der Dauerlizenzierung zu einem abonnementbasierten Dienst mit der Einführung von Creative Cloud überging. Diese Transformation ermöglichte es dem Unternehmen, häufigere Updates, Cloud-Speicher und einen berechenbareren Einnahmestrom bereitzustellen. + +Adobe hat sein Angebot über kreative Werkzeuge hinaus auf digitales Marketing, Analytik und Dokumentenmanagement-Lösungen durch seine Experience Cloud- und Document Cloud-Dienste erweitert. Das von Adobe mit Adobe Acrobat eingeführte PDF-Format ist zum globalen Standard für den sicheren Dokumentenaustausch geworden. + +Heute wird Adobe als führend in den Bereichen Kreativsoftware, digitales Marketing und Dokumentenmanagement-Lösungen anerkannt und innoviert kontinuierlich, um den sich entwickelnden Bedürfnissen von Kreativprofis, Vermarktern und Unternehmen weltweit gerecht zu werden. \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/developers/de/apple.md b/apps-archived/techbase/apps/web/src/content/developers/de/apple.md new file mode 100644 index 000000000..9bb34be4c --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/developers/de/apple.md @@ -0,0 +1,32 @@ +--- +name: Apple Inc. +description: Multinationales Technologieunternehmen, das Unterhaltungselektronik, Computersoftware und Online-Dienste entwickelt und verkauft, bekannt für Produkte wie iPhone, iPad, Mac-Computer und Dienste wie App Store und Apple Music. +logo: /logos/sample-logo.svg +website: https://www.apple.com +foundedYear: 1976 +headquarters: Cupertino, Kalifornien +country: USA +employees: "164.000+" +revenue: "394,3 Milliarden $ (2022)" +industry: "Technologie, Unterhaltungselektronik, Software, Online-Dienste" +keyProducts: + - "iPhone" + - "iPad" + - "Mac" + - "Apple Watch" + - "AirPods" + - "macOS" + - "iOS" + - "Safari" +socialMedia: + twitter: https://twitter.com/Apple + linkedin: https://www.linkedin.com/company/apple/ + github: https://github.com/apple + facebook: https://www.facebook.com/apple +--- + +Apple Inc. ist eines der größten Technologieunternehmen der Welt, gegründet von Steve Jobs, Steve Wozniak und Ronald Wayne im Jahr 1976. Das Unternehmen begann als Hersteller von Personal Computern, hat sich aber seitdem auf verschiedene Technologiemärkte ausgeweitet und ist bekannt für seine Innovation, Qualität und starke Markentreue. + +Apple revolutionierte die Smartphone-Branche mit der Einführung des iPhones im Jahr 2007, den Tablet-Markt mit dem iPad im Jahr 2010 und führt weiterhin im Bereich der Premium-Unterhaltungselektronik. Das Ökosystem aus Hardware, Software und Diensten ist eng integriert und schafft ein zusammenhängendes Benutzererlebnis über alle Apple-Produkte hinweg. + +Das Unternehmen legt großen Wert auf Design, Benutzerdatenschutz und ökologische Nachhaltigkeit. Apples Einzelhandelsgeschäfte sind bekannt für ihre markante Architektur und ihren Kundenservice, und das Unternehmen betreibt weltweit über 500 Geschäfte. Apples Dienstleistungsbereich, einschließlich App Store, Apple Music, Apple TV+, iCloud und Apple Pay, ist zu einem zunehmend wichtigen Teil seines Geschäftsmodells geworden. \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/developers/de/google.md b/apps-archived/techbase/apps/web/src/content/developers/de/google.md new file mode 100644 index 000000000..746c4dffd --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/developers/de/google.md @@ -0,0 +1,29 @@ +--- +name: Google +description: Globales Technologieunternehmen, das sich auf Internet-bezogene Dienste und Produkte spezialisiert hat, darunter Online-Werbetechnologien, Suchmaschinen, Cloud Computing, Software und Hardware. +logo: /logos/sample-logo.svg +website: https://www.google.com +foundedYear: 1998 +headquarters: Mountain View, Kalifornien +country: USA +employees: "156.500+" +revenue: "283 Milliarden $ (2022)" +industry: "Technologie, Internet, Cloud Computing, Werbung" +keyProducts: + - "Google Suche" + - "Android" + - "YouTube" + - "Google Cloud" + - "Google Workspace" +socialMedia: + twitter: https://twitter.com/Google + linkedin: https://www.linkedin.com/company/google/ + github: https://github.com/google + facebook: https://www.facebook.com/Google/ +--- + +Google LLC ist ein multinationales Technologieunternehmen, das sich auf Suchmaschinen-Technologie, Online-Werbung, Cloud Computing, Computersoftware, Quantencomputing, E-Commerce, künstliche Intelligenz und Unterhaltungselektronik konzentriert. + +Das Unternehmen hat seinen ursprünglichen Fokus auf Suchmaschinen-Technologie weit überschritten und bietet heute mehr als 100 Produkte und Dienste an, darunter das Android-Betriebssystem, den Chrome-Webbrowser, den E-Mail-Dienst Gmail, Google Maps, Google Cloud Platform und YouTube. Googles Muttergesellschaft, Alphabet Inc., wurde 2015 durch eine Umstrukturierung gegründet und gehört heute zu den wertvollsten Unternehmen der Welt. + +Googles Mission ist es, "die Informationen der Welt zu organisieren und allgemein zugänglich und nützlich zu machen." Das Unternehmen ist bekannt für seine innovative Kultur, Mitarbeitervorteile und erhebliche Investitionen in Forschung und Entwicklung. \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/developers/de/microsoft.md b/apps-archived/techbase/apps/web/src/content/developers/de/microsoft.md new file mode 100644 index 000000000..e9af21b01 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/developers/de/microsoft.md @@ -0,0 +1,34 @@ +--- +name: Microsoft Corporation +description: Multinationales Technologieunternehmen, das Computersoftware, Unterhaltungselektronik, Personal Computer und zugehörige Dienstleistungen produziert. +logo: /logos/sample-logo.svg +website: https://www.microsoft.com +foundedYear: 1975 +headquarters: Redmond, Washington +country: USA +employees: "221.000+" +revenue: "198,3 Milliarden $ (2022)" +industry: "Technologie, Software, Cloud Computing, Gaming, Hardware" +keyProducts: + - "Windows" + - "Office 365" + - "Azure" + - "Xbox" + - "Surface" + - "GitHub" + - "LinkedIn" + - "Teams" +socialMedia: + twitter: https://twitter.com/Microsoft + linkedin: https://www.linkedin.com/company/microsoft/ + github: https://github.com/microsoft + facebook: https://www.facebook.com/Microsoft +--- + +Die Microsoft Corporation ist ein multinationales Technologieunternehmen, das am 4. April 1975 von Bill Gates und Paul Allen gegründet wurde. Ursprünglich konzentrierte sich das Unternehmen auf die Entwicklung von Software für den Altair 8800 Mikrocomputer und stieg in den 1980er Jahren mit MS-DOS und später mit Microsoft Windows zum dominierenden Anbieter von Betriebssystemen für Personal Computer auf. + +Unter der Führung von Satya Nadella seit 2014 hat Microsoft seinen Fokus auf Cloud-Computing-Dienste verlagert, wobei Azure zu einem wichtigen Akteur auf dem Markt für Cloud-Infrastruktur geworden ist. Das Unternehmen hat auch Open-Source-Entwicklungspraktiken übernommen und sein Hardware-Angebot mit der Surface-Produktlinie erweitert. + +Das Geschäftsmodell von Microsoft umfasst ein breites Spektrum an Technologieprodukten und -dienstleistungen, darunter Betriebssysteme, Produktivitätssoftware, Serveranwendungen, Cloud-Dienste, Spielekonsolen und Unternehmenslösungen. Dem Unternehmen ist es gelungen, sich von einem primären Softwareanbieter zu einem diversifizierten Technologieführer mit bedeutender Präsenz in Cloud-Diensten, künstlicher Intelligenz und Mixed Reality zu wandeln. + +Im Laufe seiner Geschichte hat Microsoft eine bemerkenswerte Widerstandsfähigkeit und Anpassungsfähigkeit bewiesen, indem es wichtige Branchenveränderungen navigierte und sein Geschäftsmodell weiterentwickelte, um an der Spitze der technologischen Innovation zu bleiben. Das Unternehmen investiert weiterhin stark in neue Technologien wie künstliche Intelligenz, Quantencomputing und Mixed Reality und positioniert sich damit für weiteres Wachstum in der sich schnell verändernden Technologielandschaft. \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/developers/de/mozilla.md b/apps-archived/techbase/apps/web/src/content/developers/de/mozilla.md new file mode 100644 index 000000000..82ad91aed --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/developers/de/mozilla.md @@ -0,0 +1,32 @@ +--- +name: Mozilla Foundation +description: Gemeinnützige Organisation, die das Open-Source-Mozilla-Projekt unterstützt und leitet, mit dem Fokus darauf, das Internet als globale öffentliche Ressource offen und für alle zugänglich zu halten. +logo: /logos/sample-logo.svg +website: https://www.mozilla.org +foundedYear: 2003 +headquarters: Mountain View, Kalifornien +country: USA +employees: "750+" +revenue: "ungefähr 500 Millionen $ (2021)" +industry: "Gemeinnützigkeit, Open Source, Internet-Datenschutz, Web-Technologien" +keyProducts: + - "Firefox" + - "Firefox Mobile" + - "Mozilla VPN" + - "Pocket" + - "MDN Web Docs" + - "Thunderbird" +socialMedia: + twitter: https://twitter.com/mozilla + linkedin: https://www.linkedin.com/company/mozilla-corporation/ + github: https://github.com/mozilla + facebook: https://www.facebook.com/mozilla +--- + +Die Mozilla Foundation ist eine gemeinnützige Organisation, die als Heimat des Mozilla-Projekts dient, einer Open-Source-Software-Gemeinschaft, die sich auf die Schaffung eines besseren Internets konzentriert. Die Stiftung wurde im Juli 2003 gegründet, wobei der Firefox-Webbrowser ihr Flaggschiffprodukt ist. + +Die Struktur von Mozilla umfasst die Mozilla Foundation und ihre Tochtergesellschaft, die Mozilla Corporation, die für die Entwicklung und Verteilung von Firefox und anderen Produkten zuständig ist. Die Organisation orientiert sich am Mozilla-Manifest, das Prinzipien zur Förderung eines Internets als globale öffentliche Ressource, offen und für alle zugänglich, darlegt. + +Über Firefox hinaus hat Mozilla an verschiedenen offenen Internet-Initiativen mitgewirkt, darunter die Entwicklung von Webstandards, Datenschutzfürsprache und Programme zur digitalen Bildung. Die Organisation setzt sich für die Prinzipien des Online-Datenschutzes, Open Source und Dezentralisierung ein und positioniert sich oft als Alternative zu den kommerziellen Interessen größerer Technologieunternehmen. + +Mozillas Einnahmen stammen hauptsächlich aus Partnerschaften mit Suchmaschinen, wobei Google ein wichtiger Beitragender ist. Die Stiftung sucht kontinuierlich nach Möglichkeiten, ihre Finanzierung zu diversifizieren und gleichzeitig ihr Engagement für den Datenschutz der Nutzer und die Werte des offenen Internets aufrechtzuerhalten. \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/developers/en/adobe.md b/apps-archived/techbase/apps/web/src/content/developers/en/adobe.md new file mode 100644 index 000000000..ed78693b8 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/developers/en/adobe.md @@ -0,0 +1,36 @@ +--- +name: Adobe Inc. +description: American multinational computer software company focused on creativity software products. +logo: /logos/sample-logo.svg +website: https://www.adobe.com +foundedYear: 1982 +headquarters: San Jose, California +country: USA +employees: "26,000+" +revenue: "$17.6 billion (2022)" +industry: "Software, Creative Cloud, Document Management" +keyProducts: + - "Photoshop" + - "Illustrator" + - "Acrobat" + - "Premiere Pro" + - "After Effects" + - "InDesign" + - "Creative Cloud" + - "Experience Cloud" +socialMedia: + twitter: https://twitter.com/Adobe + linkedin: https://www.linkedin.com/company/adobe/ + github: https://github.com/adobe + facebook: https://www.facebook.com/Adobe +--- + +Adobe Inc. (formerly Adobe Systems Incorporated) was founded in December 1982 by John Warnock and Charles Geschke, who had previously worked at Xerox PARC. The company pioneered the development of PostScript, a page description language that revolutionized desktop publishing. + +Adobe's transformation began with the introduction of Photoshop in 1990, which quickly became the industry standard for image editing. Over the years, Adobe expanded its product portfolio to include a comprehensive suite of creative tools, including Illustrator for vector graphics, InDesign for page layout, and Premiere Pro for video editing. + +In 2013, Adobe made a significant strategic shift by moving from a traditional perpetual licensing model to a subscription-based service with the introduction of Creative Cloud. This transformation enabled the company to provide more frequent updates, cloud storage, and a more predictable revenue stream. + +Adobe has further expanded its offerings beyond creative tools to include digital marketing, analytics, and document management solutions through its Experience Cloud and Document Cloud services. The company's PDF format, introduced with Adobe Acrobat, has become the global standard for secure document exchange. + +Today, Adobe is recognized as a leader in creative software, digital marketing, and document management solutions, continuously innovating to meet the evolving needs of creative professionals, marketers, and businesses worldwide. \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/developers/en/apple.md b/apps-archived/techbase/apps/web/src/content/developers/en/apple.md new file mode 100644 index 000000000..0318b1261 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/developers/en/apple.md @@ -0,0 +1,32 @@ +--- +name: Apple Inc. +description: Multinational technology company that designs, develops, and sells consumer electronics, computer software, and online services, known for products like the iPhone, iPad, Mac computers, and services like the App Store and Apple Music. +logo: /logos/sample-logo.svg +website: https://www.apple.com +foundedYear: 1976 +headquarters: Cupertino, California +country: USA +employees: "164,000+" +revenue: "$394.3 billion (2022)" +industry: "Technology, Consumer Electronics, Software, Online Services" +keyProducts: + - "iPhone" + - "iPad" + - "Mac" + - "Apple Watch" + - "AirPods" + - "macOS" + - "iOS" + - "Safari" +socialMedia: + twitter: https://twitter.com/Apple + linkedin: https://www.linkedin.com/company/apple/ + github: https://github.com/apple + facebook: https://www.facebook.com/apple +--- + +Apple Inc. is one of the world's largest technology companies, founded by Steve Jobs, Steve Wozniak, and Ronald Wayne in 1976. The company began as a personal computer manufacturer but has since expanded into various technology markets, becoming known for its innovation, quality, and strong brand loyalty. + +Apple revolutionized the smartphone industry with the introduction of the iPhone in 2007, the tablet market with the iPad in 2010, and continues to lead in premium consumer electronics. Its ecosystem of hardware, software, and services is tightly integrated, creating a cohesive user experience across all Apple products. + +The company places a strong emphasis on design, user privacy, and environmental sustainability. Apple's retail stores are known for their distinctive architecture and customer service, with the company operating over 500 stores worldwide. Apple's services division, including the App Store, Apple Music, Apple TV+, iCloud, and Apple Pay, has become an increasingly important part of its business model. \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/developers/en/google.md b/apps-archived/techbase/apps/web/src/content/developers/en/google.md new file mode 100644 index 000000000..0fff40437 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/developers/en/google.md @@ -0,0 +1,29 @@ +--- +name: Google +description: Global technology company that specializes in Internet-related services and products including online advertising technologies, search engines, cloud computing, software, and hardware. +logo: /logos/sample-logo.svg +website: https://www.google.com +foundedYear: 1998 +headquarters: Mountain View, California +country: USA +employees: "156,500+" +revenue: "$283 billion (2022)" +industry: "Technology, Internet, Cloud Computing, Advertising" +keyProducts: + - "Google Search" + - "Android" + - "YouTube" + - "Google Cloud" + - "Google Workspace" +socialMedia: + twitter: https://twitter.com/Google + linkedin: https://www.linkedin.com/company/google/ + github: https://github.com/google + facebook: https://www.facebook.com/Google/ +--- + +Google LLC is a multinational technology company that focuses on search engine technology, online advertising, cloud computing, computer software, quantum computing, e-commerce, artificial intelligence, and consumer electronics. + +The company has expanded far beyond its original focus on search engine technology and now offers over 100 products and services, including the Android operating system, Chrome web browser, Gmail email service, Google Maps, Google Cloud Platform, and YouTube. Google's parent company, Alphabet Inc., was created through a corporate restructuring in 2015 and is now one of the world's most valuable companies. + +Google's mission is to "organize the world's information and make it universally accessible and useful." The company is known for its innovative culture, employee perks, and significant investments in research and development. \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/developers/en/microsoft.md b/apps-archived/techbase/apps/web/src/content/developers/en/microsoft.md new file mode 100644 index 000000000..0133a5f31 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/developers/en/microsoft.md @@ -0,0 +1,34 @@ +--- +name: Microsoft Corporation +description: Multinational technology company that produces computer software, consumer electronics, personal computers, and related services. +logo: /logos/sample-logo.svg +website: https://www.microsoft.com +foundedYear: 1975 +headquarters: Redmond, Washington +country: USA +employees: "221,000+" +revenue: "$198.3 billion (2022)" +industry: "Technology, Software, Cloud Computing, Gaming, Hardware" +keyProducts: + - "Windows" + - "Office 365" + - "Azure" + - "Xbox" + - "Surface" + - "GitHub" + - "LinkedIn" + - "Teams" +socialMedia: + twitter: https://twitter.com/Microsoft + linkedin: https://www.linkedin.com/company/microsoft/ + github: https://github.com/microsoft + facebook: https://www.facebook.com/Microsoft +--- + +Microsoft Corporation is a multinational technology company founded by Bill Gates and Paul Allen on April 4, 1975. Originally focused on developing software for the Altair 8800 microcomputer, the company rose to dominate the personal computer operating system market with MS-DOS in the mid-1980s, followed by Microsoft Windows. + +Under the leadership of Satya Nadella since 2014, Microsoft has shifted its focus toward cloud computing services, with Azure becoming a major player in the cloud infrastructure market. The company has also embraced open source development practices and expanded its hardware offerings with the Surface line of devices. + +Microsoft's business model encompasses a wide range of technology products and services, including operating systems, productivity software, server applications, cloud services, gaming consoles, and enterprise solutions. The company has successfully transformed itself from primarily a software vendor to a diversified technology leader with significant presence in cloud services, artificial intelligence, and mixed reality. + +Throughout its history, Microsoft has displayed remarkable resilience and adaptability, navigating major industry shifts and evolving its business model to remain at the forefront of technological innovation. The company continues to invest heavily in emerging technologies such as artificial intelligence, quantum computing, and mixed reality, positioning itself for continued growth in the rapidly changing technology landscape. \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/developers/en/mozilla.md b/apps-archived/techbase/apps/web/src/content/developers/en/mozilla.md new file mode 100644 index 000000000..f70fcca65 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/developers/en/mozilla.md @@ -0,0 +1,32 @@ +--- +name: Mozilla Foundation +description: Non-profit organization that exists to support and collectively lead the open source Mozilla project, focusing on keeping the internet a global public resource, open and accessible to all. +logo: /logos/sample-logo.svg +website: https://www.mozilla.org +foundedYear: 2003 +headquarters: Mountain View, California +country: USA +employees: "750+" +revenue: "approximately $500 million (2021)" +industry: "Non-profit, Open Source, Internet Privacy, Web Technologies" +keyProducts: + - "Firefox" + - "Firefox Mobile" + - "Mozilla VPN" + - "Pocket" + - "MDN Web Docs" + - "Thunderbird" +socialMedia: + twitter: https://twitter.com/mozilla + linkedin: https://www.linkedin.com/company/mozilla-corporation/ + github: https://github.com/mozilla + facebook: https://www.facebook.com/mozilla +--- + +The Mozilla Foundation is a non-profit organization that serves as the home for the Mozilla project, an open-source software community focused on creating a better internet. The foundation was established in July 2003, with the Firefox web browser as its flagship product. + +Mozilla's structure includes the Mozilla Foundation and its subsidiary, Mozilla Corporation, which handles the development and distribution of Firefox and other products. The organization is guided by the Mozilla Manifesto, which outlines principles promoting an internet that is a global public resource, open and accessible to all. + +Beyond Firefox, Mozilla has been involved in various open internet initiatives, including web standards development, privacy advocacy, and digital literacy programs. The organization champions the principles of online privacy, open source, and decentralization, often positioning itself as an alternative to the commercial interests of larger tech companies. + +Mozilla's revenue primarily comes from search engine partnerships, with Google being a significant contributor, and the foundation continually seeks ways to diversify its funding while maintaining its commitment to user privacy and open internet values. \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/de/acrobat-reader.md b/apps-archived/techbase/apps/web/src/content/software/de/acrobat-reader.md new file mode 100644 index 000000000..6da135ae2 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/de/acrobat-reader.md @@ -0,0 +1,54 @@ +--- +name: Adobe Acrobat Reader +description: Der globale Standard für das zuverlässige Anzeigen, Drucken und Kommentieren von PDF-Dokumenten. +logo: /logos/sample-logo.svg +website: https://www.adobe.com/de/acrobat/pdf-reader.html +developer: adobe +pricing: + - model: Kostenlos + price: €0 + yearly_price: €0 + features: + - PDFs anzeigen und drucken + - PDFs kommentieren + - Formulare ausfüllen und unterschreiben + - Dateien online speichern und teilen + - model: Acrobat Standard DC + price: €14,99 + yearly_price: €179,88 + features: + - PDFs erstellen + - Text und Bilder bearbeiten + - PDFs in Office-Formate konvertieren + - Mehrere Dateien zu einer PDF zusammenführen + - model: Acrobat Pro DC + price: €24,99 + yearly_price: €299,88 + features: + - Alle Standard-Funktionen + - Zwei Versionen einer PDF vergleichen + - Auf iPad und mobilen Geräten bearbeiten + - Erweiterte PDF-Bearbeitung und -Schutz +features: + - "PDF-Anzeige: PDF-Inhalte mit hoher Genauigkeit auf allen Geräten anzeigen" + - "Kommentare & Anmerkungen: PDFs mit Hervorhebungen und Kommentaren versehen" + - "Formularausfüllung: Ausfüllbare Formulare vervollständigen und Unterschriften hinzufügen" + - "Teilen & Überprüfen: Kommentare von mehreren Prüfern sammeln" + - "Mobiler Zugriff: PDFs auf mobilen Geräten anzeigen und kommentieren" + - "Cloud-Speicher: Auf Ihre PDFs von überall aus über Adobe Document Cloud zugreifen" +categories: + - document + - productivity +platforms: + - Windows + - macOS + - Android + - iOS +supportedPlatforms: + - Windows + - macOS + - Android + - iOS + - Web +lastUpdated: 2025-03-29 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/de/android.md b/apps-archived/techbase/apps/web/src/content/software/de/android.md new file mode 100644 index 000000000..4ddf82639 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/de/android.md @@ -0,0 +1,40 @@ +--- +name: Android OS +description: Das Open-Source-Mobilbetriebssystem von Google, das Smartphones, Tablets und andere Geräte antreibt. +logo: /logos/sample-logo.svg +website: https://www.android.com/intl/de_de/ +developer: google +pricing: + - model: Kostenlos + price: €0 + yearly_price: €0 + features: + - Kostenloses Open-Source-Betriebssystem + - Zugang zum Google Play Store + - Regelmäßige Sicherheitsupdates + - Integration mit Google-Diensten +features: + - "Offenes Ökosystem: Open-Source-Basis mit Anpassungsoptionen" + - "Google-Dienste: Tiefe Integration mit Google-Apps und -Diensten" + - "App Store: Zugang zu Millionen von Apps über den Google Play Store" + - "Anpassung: Umfangreiche Personalisierungsoptionen für Benutzer und Hersteller" + - "Assistent: Google Assistant für Sprachbefehle und KI-Unterstützung" + - "Sicherheit: Regelmäßige Sicherheitsupdates und integrierter Malware-Schutz" + - "Multi-Gerät: Unterstützt Telefone, Tablets, Fernseher, Uhren und Autos" + - "Entwickler-Tools: Umfassende SDK und Entwickler-Ressourcen" +categories: + - operating-system +platforms: + - Smartphones + - Tablets + - Smart TVs + - Wearables + - Automotive +supportedPlatforms: + - Smartphones + - Tablets + - Smart TVs + - Wearables + - Automotive +lastUpdated: 2025-03-29 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/de/chess-com.md b/apps-archived/techbase/apps/web/src/content/software/de/chess-com.md new file mode 100644 index 000000000..51a680b33 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/de/chess-com.md @@ -0,0 +1,55 @@ +--- +name: Chess.com +description: Die weltweit führende Online-Schachplattform mit Millionen von Spielern, Tutorials, Turnieren und Analysetools. +logo: /logos/sample-logo.svg +website: https://www.chess.com +screenshots: + - /screenshots/chess1.PNG + - /screenshots/chess2.PNG + - /screenshots/chess3.PNG + - /screenshots/chess4.PNG + - /screenshots/chess5.PNG +pricing: + - model: Free + price: €0 + yearly_price: €0 + features: + - Unbegrenzte Schachspiele + - Tägliche Schachaufgaben + - Videoanleitungen + - Community-Forum + - model: Gold + price: €4.99/Monat + yearly_price: €49.99/Jahr + features: + - Alle Free-Funktionen + - Unbegrenzte Taktik-Aufgaben + - 25 Analysen pro Tag + - Keine Werbung + - Erweiterte Lernfunktionen + - model: Platinum + price: €9.99/Monat + yearly_price: €99.99/Jahr + features: + - Alle Gold-Funktionen + - Unbegrenzte Analysen + - Premium-Videos und Kurse + - Fortgeschrittene KI-Gegner + - Personalisiertes Training +features: + - "Spielen: Schach gegen KI oder Spieler weltweit in verschiedenen Zeitkontrollen" + - "Lernen: Interaktive Lektionen, Eröffnungs- und Taktik-Training" + - "Analysen: Tiefgehende Spielanalysen mit Engine-Unterstützung" + - "Turniere: Tägliche und wöchentliche Online-Schachturniere" + - "Community: Foren, Clubs und Freundschaftssystem" +categories: + - games + - kategorie2 +platforms: + - Windows + - macOS + - iOS + - Android + - Web +lastUpdated: 2025-03-28 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/de/chrome.md b/apps-archived/techbase/apps/web/src/content/software/de/chrome.md new file mode 100644 index 000000000..6237c6a21 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/de/chrome.md @@ -0,0 +1,37 @@ +--- +name: Google Chrome +description: Schneller, sicherer Browser von Google mit integrierter Google-Dienst-Anbindung. +logo: /logos/sample-logo.svg +website: https://www.google.com/chrome/ +developer: google +pricing: + - model: Kostenlos + price: €0 + yearly_price: €0 + features: + - Schnelles Surferlebnis + - Integrierter Phishing- und Malware-Schutz + - Synchronisation über Geräte hinweg + - Entwicklertools +features: + - "Geschwindigkeit: Chrome ist für Leistung mit einer schnellen JavaScript-Engine optimiert" + - "Sicherheit: Automatische Updates und isolierte Tabs für erhöhte Sicherheit" + - "Synchronisation: Synchronisiere Lesezeichen, Verlauf, Passwörter und Einstellungen über Geräte hinweg" + - "Erweiterungen: Zugriff auf tausende Erweiterungen über den Chrome Web Store" + - "Entwicklertools: Umfassende integrierte Werkzeuge für Webentwickler" +categories: + - browser +platforms: + - Windows + - macOS + - Linux + - Android + - iOS +supportedPlatforms: + - Windows + - macOS + - Linux + - Android + - iOS +lastUpdated: 2025-03-28 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/de/excel.md b/apps-archived/techbase/apps/web/src/content/software/de/excel.md new file mode 100644 index 000000000..49162cd33 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/de/excel.md @@ -0,0 +1,57 @@ +--- +name: Microsoft Excel +description: Leistungsstarke Tabellenkalkulationssoftware mit Berechnungs- und Grafiktools sowie Pivot-Tabellen für Datenanalysen. +logo: /logos/sample-logo.svg +website: https://www.microsoft.com/de-de/microsoft-365/excel +developer: microsoft +pricing: + - model: Microsoft 365 Personal + price: €7,00 + yearly_price: €69,00 + features: + - Premium Office-Apps einschließlich Excel + - 1 TB Cloud-Speicher + - Werbefreie E-Mail und Premium-Sicherheit + - Zugriff auf mehreren Geräten + - model: Microsoft 365 Family + price: €10,00 + yearly_price: €99,00 + features: + - Für bis zu 6 Personen + - Premium Office-Apps einschließlich Excel + - 1 TB Cloud-Speicher pro Person + - Werbefreie E-Mail und Premium-Sicherheit + - model: Office Home & Student 2021 + price: €149,00 + yearly_price: €149,00 + features: + - Einmaliger Kauf für 1 PC oder Mac + - Enthält Excel, Word und PowerPoint + - Microsoft Support für 60 Tage + - Keine Feature-Updates +features: + - "Tabellenkalkulations-Funktionen: Über 400 integrierte Funktionen für komplexe Berechnungen" + - "Datenanalyse: Leistungsstarke Tools wie Power Pivot und Power Query" + - "Datenvisualisierung: Erstellen von Diagrammen, Grafiken und bedingter Formatierung" + - "PivotTables: Schnelles Zusammenfassen und Analysieren großer Datensätze" + - "Was-wäre-wenn-Analyse: Tools für Sensitivitätsanalyse und Prognosen" + - "Echtzeit-Zusammenarbeit: Mehrere Benutzer können Tabellenkalkulationen gleichzeitig bearbeiten" + - "Excel im Web: Auf Tabellenkalkulationen von jedem Browser aus zugreifen und bearbeiten" + - "Integration: Verbindung zu mehreren Datenquellen und Microsoft 365-Apps" +categories: + - office-suite + - productivity +platforms: + - Windows + - macOS + - Android + - iOS + - Web +supportedPlatforms: + - Windows + - macOS + - Android + - iOS + - Web +lastUpdated: 2025-03-29 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/de/firefox.md b/apps-archived/techbase/apps/web/src/content/software/de/firefox.md new file mode 100644 index 000000000..b9a1a6970 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/de/firefox.md @@ -0,0 +1,37 @@ +--- +name: Mozilla Firefox +description: Open-Source-Browser mit Fokus auf Datenschutz, Anpassbarkeit und Web-Standards-Konformität. +logo: /logos/sample-logo.svg +website: https://www.mozilla.org/de/firefox/ +developer: mozilla +pricing: + - model: Kostenlos + price: €0 + yearly_price: €0 + features: + - Erweiterter Datenschutz + - Open-Source-Entwicklung + - Plattformübergreifende Synchronisation + - Umfangreiche Anpassungsmöglichkeiten +features: + - "Datenschutz: Verbesserter Tracking-Schutz blockiert standardmäßig Tracking-Cookies von Drittanbietern" + - "Open Source: Transparenter Entwicklungsprozess mit öffentlich einsehbarem Code" + - "Anpassbarkeit: Hochgradig anpassbare Benutzeroberfläche mit Themes und Add-ons" + - "Container-Tabs: Separate Browsing-Kontexte zur Verhinderung von websiteübergreifendem Tracking" + - "Lesemodus: Ablenkungsfreies Leseerlebnis für Artikel" +categories: + - browser +platforms: + - Windows + - macOS + - Linux + - Android + - iOS +supportedPlatforms: + - Windows + - macOS + - Linux + - Android + - iOS +lastUpdated: 2025-03-28 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/de/gmail.md b/apps-archived/techbase/apps/web/src/content/software/de/gmail.md new file mode 100644 index 000000000..8cb332fc7 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/de/gmail.md @@ -0,0 +1,50 @@ +--- +name: Gmail +description: Googles E-Mail-Dienst mit intelligenten Funktionen, Spamschutz und nahtloser Integration mit anderen Google-Diensten. +logo: /logos/sample-logo.svg +website: https://gmail.com +developer: google +pricing: + - model: Kostenlos + price: €0 + yearly_price: €0 + features: + - 15 GB Speicher (gemeinsam mit Google Drive) + - Intelligente E-Mail-Kategorisierung + - Spamschutz + - Mobile Apps + - model: Google Workspace Business Starter + price: €5,20 + yearly_price: €62,40 + features: + - 30 GB Speicher pro Benutzer + - Benutzerdefinierte E-Mail-Adresse (@ihredomain) + - Videobesprechungen mit bis zu 100 Teilnehmern + - Sicherheits- und Verwaltungskontrollen + - model: Google Workspace Business Standard + price: €10,40 + yearly_price: €124,80 + features: + - 2 TB Speicher pro Benutzer + - Benutzerdefinierte E-Mail-Adresse (@ihredomain) + - Videobesprechungen mit bis zu 150 Teilnehmern + - Aufzeichnung und Anwesenheitsverfolgung +features: + - "Intelligente Organisation: Sortiert E-Mails automatisch in Tabs wie Primär, Soziale Netzwerke und Werbung" + - "Suche: Leistungsstarke Suchfunktion zum Finden aller E-Mails, auch mit Anhängen" + - "Integration: Nahtlose Integration mit Google Kalender, Drive und anderen Google-Diensten" + - "Sicherheit: Erweiterter Phishing-Schutz und Erkennung verdächtiger Aktivitäten" + - "Offline-Zugriff: E-Mails ohne Internetverbindung lesen, beantworten und durchsuchen" +categories: + - email + - productivity +platforms: + - Web + - Android + - iOS +supportedPlatforms: + - Web + - Android + - iOS +lastUpdated: 2025-03-28 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/de/google-drive.md b/apps-archived/techbase/apps/web/src/content/software/de/google-drive.md new file mode 100644 index 000000000..dda8dc0b5 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/de/google-drive.md @@ -0,0 +1,64 @@ +--- +name: Google Drive +description: Cloud-Speicherdienst, mit dem Sie Dateien und Ordner von jedem Mobilgerät, Tablet oder Computer speichern, teilen und gemeinsam bearbeiten können. +logo: /logos/sample-logo.svg +website: https://drive.google.com +developer: google +pricing: + - model: Kostenlos + price: €0 + yearly_price: €0 + features: + - 15 GB Speicherplatz (gemeinsam mit Gmail und Google Fotos) + - Dateien teilen und zusammenarbeiten + - Integration mit Google Docs, Sheets und Slides + - Mobiler Zugriff + - model: Google One Basic + price: €1,99 + yearly_price: €19,99 + features: + - 100 GB Speicherplatz + - Zugang zu Google-Experten + - Zusätzliche Mitgliedervorteile + - Familienfreigabe + - model: Google One Standard + price: €2,99 + yearly_price: €29,99 + features: + - 200 GB Speicherplatz + - Zugang zu Google-Experten + - Zusätzliche Mitgliedervorteile + - Familienfreigabe + - model: Google One Premium + price: €9,99 + yearly_price: €99,99 + features: + - 2 TB Speicherplatz + - Zugang zu Google-Experten + - Zusätzliche Mitgliedervorteile + - Familienfreigabe + - 10% Guthaben bei Einkäufen im Google Store +features: + - "Speicherplatz: Sicherer Cloud-Speicher für alle Dateitypen" + - "Zugänglichkeit: Greifen Sie von jedem Gerät und überall auf Ihre Dateien zu" + - "Zusammenarbeit: Echtzeit-Bearbeitung und Kommentierung mit mehreren Benutzern" + - "Suche: Leistungsstarke Suchfunktionen, um jede Datei schnell zu finden" + - "Offline-Zugriff: Arbeiten Sie ohne Internetverbindung an Dateien" + - "Backup und Synchronisierung: Automatisches Backup wichtiger Ordner von Ihrem Computer" +categories: + - cloud-storage + - productivity +platforms: + - Web + - Windows + - macOS + - Android + - iOS +supportedPlatforms: + - Web + - Windows + - macOS + - Android + - iOS +lastUpdated: 2025-03-28 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/de/google-maps.md b/apps-archived/techbase/apps/web/src/content/software/de/google-maps.md new file mode 100644 index 000000000..714ad445a --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/de/google-maps.md @@ -0,0 +1,44 @@ +--- +name: Google Maps +description: Umfassender Kartendienst mit Navigation, Echtzeit-Verkehrsinformationen, Street View und lokalen Unternehmenseinträgen. +logo: /logos/sample-logo.svg +website: https://maps.google.com +developer: google +pricing: + - model: Kostenlos + price: €0 + yearly_price: €0 + features: + - Navigation und Routenplanung + - Echtzeit-Verkehrsinformationen + - Informationen zu öffentlichen Verkehrsmitteln + - Street View + - Lokale Unternehmenseinträge + - model: Maps Platform (API) + price: "Nutzungsbasiert" + yearly_price: "Je nach Nutzung" + features: + - Maps, Routes und Places APIs + - Benutzerdefinierte Kartenstile + - Fortschrittliche Routing-Algorithmen + - Standortdaten für Unternehmen + - 24/7-Support und SLA +features: + - "Navigation: Schritt-für-Schritt-Anweisungen für Auto, zu Fuß, Fahrrad und öffentliche Verkehrsmittel" + - "Live-Verkehr: Echtzeit-Verkehrsdaten und Vorfallberichte" + - "Street View: 360°-Ansichten von Straßen auf der ganzen Welt" + - "Lokale Informationen: Restaurantbewertungen, Öffnungszeiten und Kontaktinformationen" + - "Offline-Karten: Herunterladen von Karten zur Nutzung ohne Internetverbindung" +categories: + - navigation + - travel +platforms: + - Web + - Android + - iOS +supportedPlatforms: + - Web + - Android + - iOS +lastUpdated: 2025-03-28 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/de/ios.md b/apps-archived/techbase/apps/web/src/content/software/de/ios.md new file mode 100644 index 000000000..95fe69268 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/de/ios.md @@ -0,0 +1,32 @@ +--- +name: iOS +description: Apples mobiles Betriebssystem, das exklusiv für iPhone entwickelt wurde, mit Fokus auf Sicherheit und nahtloser Ökosystem-Integration. +logo: /logos/sample-logo.svg +website: https://www.apple.com/de/ios/ +developer: apple +pricing: + - model: Kostenlos + price: €0 + yearly_price: €0 + features: + - Kostenloses Betriebssystem für iPhone + - Regelmäßige Feature- und Sicherheitsupdates + - Zugang zum App Store + - Integration mit Apple-Diensten +features: + - "Sicherheit: Starker Datenschutz und regelmäßige Sicherheitsupdates" + - "App Store: Kuratierter Marktplatz mit Millionen von Apps" + - "Ökosystem-Integration: Nahtlose Konnektivität mit anderen Apple-Geräten" + - "Leistung: Optimierte Hardware-Software-Integration" + - "Siri: Sprachassistent mit Gerätesteuerung und KI-Fähigkeiten" + - "iMessage: Ende-zu-Ende-verschlüsselte Nachrichten" + - "Updates: Konsistente langfristige Software-Unterstützung" + - "Barrierefreiheit: Umfassende Zugänglichkeitsfunktionen" +categories: + - operating-system +platforms: + - iPhone +supportedPlatforms: + - iPhone +lastUpdated: 2025-03-29 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/de/macos.md b/apps-archived/techbase/apps/web/src/content/software/de/macos.md new file mode 100644 index 000000000..baa21e570 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/de/macos.md @@ -0,0 +1,32 @@ +--- +name: macOS +description: Apples Desktop-Betriebssystem, bekannt für seine benutzerfreundliche Oberfläche, Sicherheitsfunktionen und enge Integration mit anderen Apple-Produkten. +logo: /logos/sample-logo.svg +website: https://www.apple.com/de/macos/ +developer: apple +pricing: + - model: Kostenlos + price: €0 + yearly_price: €0 + features: + - Kostenloses Betriebssystem für Mac-Computer + - Regelmäßige Feature- und Sicherheitsupdates + - Zugang zum Mac App Store + - Integration mit Apple-Diensten +features: + - "Benutzeroberfläche: Intuitives Design mit Fokus auf Einfachheit und Benutzerfreundlichkeit" + - "Sicherheit: Integrierter Malware-Schutz und regelmäßige Sicherheitsupdates" + - "Ökosystem-Integration: Nahtlose Konnektivität mit iPhone, iPad und anderen Apple-Geräten" + - "Continuity: Handoff-Funktionen zwischen Mac und iOS-Geräten" + - "UNIX-Fundament: Basierend auf UNIX, bietet Stabilität und Entwicklerwerkzeuge" + - "App Store: Kuratierter Marktplatz mit Tausenden von Apps" + - "iCloud: Integrierter Cloud-Speicher und Synchronisierung" + - "Professionelle Tools: Native Unterstützung für kreative und professionelle Software" +categories: + - operating-system +platforms: + - Mac +supportedPlatforms: + - Mac +lastUpdated: 2025-03-29 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/de/office.md b/apps-archived/techbase/apps/web/src/content/software/de/office.md new file mode 100644 index 000000000..4e6e1e294 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/de/office.md @@ -0,0 +1,58 @@ +--- +name: Microsoft 365 +description: Produktivitätssuite, die Anwendungen wie Word, Excel, PowerPoint und Outlook sowie Cloud-Dienste wie OneDrive und Teams umfasst. +logo: /logos/sample-logo.svg +website: https://www.microsoft.com/microsoft-365 +developer: microsoft +pricing: + - model: Personal + price: €6,99 + yearly_price: €69,99 + features: + - Premium Office-Apps + - 1 TB OneDrive-Cloudspeicher + - Erweiterte Sicherheit + - Nutzung auf mehreren Geräten + - Für 1 Person + - model: Family + price: €9,99 + yearly_price: €99,99 + features: + - Premium Office-Apps + - 6 TB OneDrive-Cloudspeicher insgesamt + - Erweiterte Sicherheit + - Nutzung auf mehreren Geräten + - Für bis zu 6 Personen + - model: Business Standard + price: €12,50 + yearly_price: €150,00 + features: + - Premium Office-Apps + - 1 TB OneDrive-Cloudspeicher + - Exchange-E-Mail-Hosting + - Microsoft Teams + - Für geschäftliche Nutzung +features: + - "Desktop- und Web-Apps: Zugriff auf Word, Excel, PowerPoint und Outlook" + - "Cloud-Speicher: OneDrive-Integration für Dateispeicherung und -freigabe" + - "Zusammenarbeit: Echtzeit-Zusammenarbeit und Freigabemöglichkeiten" + - "KI-Funktionen: Intelligente Unterstützung in Dokumenten, Präsentationen und Tabellen" + - "Vorlagen: Professionell gestaltete Vorlagen und Designs" + - "Sicherheit: Erweiterte Sicherheits- und Compliance-Tools" +categories: + - productivity + - office-suite +platforms: + - Windows + - macOS + - iOS + - Android + - Web +supportedPlatforms: + - Windows + - macOS + - iOS + - Android + - Web +lastUpdated: 2025-03-28 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/de/photoshop.md b/apps-archived/techbase/apps/web/src/content/software/de/photoshop.md new file mode 100644 index 000000000..b70a46217 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/de/photoshop.md @@ -0,0 +1,55 @@ +--- +name: Adobe Photoshop +description: Branchenstandard-Software für Fotobearbeitung und -manipulation, entwickelt von Adobe. +logo: /logos/sample-logo.svg +website: https://www.adobe.com/de/products/photoshop.html +developer: adobe +pricing: + - model: Fotografie-Paket + price: €9,99 + yearly_price: €119,88 + features: + - Photoshop auf Desktop und iPad + - Lightroom + - 20 GB Cloud-Speicher + - Adobe Portfolio + - Adobe Fonts + - model: Einzelprodukt + price: €20,99 + yearly_price: €251,88 + features: + - Photoshop auf Desktop und iPad + - 100 GB Cloud-Speicher + - Adobe Portfolio + - Adobe Fonts + - Adobe Fresco + - model: Alle Apps (Creative Cloud) + price: €54,99 + yearly_price: €659,88 + features: + - Über 20 kreative Desktop- und Mobile-Apps + - 100 GB Cloud-Speicher + - Adobe Portfolio + - Adobe Fonts + - Premium-Funktionen +features: + - "Ebenenbasierte Bearbeitung: Fortschrittliches Compositing mit Ebenen" + - "Auswahlwerkzeuge: Präzise Objektauswahl und Maskierung" + - "Retuschewerkzeuge: Professionelle Fotokorrekturen und -verbesserungen" + - "Neural Filter: KI-gestützte kreative Werkzeuge" + - "Camera Raw: Fortschrittliche RAW-Bildverarbeitung" + - "3D-Design: Erstellen und Verbessern von 3D-Inhalten" + - "Videobearbeitung: Grundlegende zeitachsenbasierte Videobearbeitung" + - "Typografie-Werkzeuge: Erweiterte Textgestaltung und -effekte" +categories: + - design +platforms: + - Windows + - macOS + - iPad +supportedPlatforms: + - Windows + - macOS + - iPad +lastUpdated: 2025-03-29 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/de/safari.md b/apps-archived/techbase/apps/web/src/content/software/de/safari.md new file mode 100644 index 000000000..29f5745a9 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/de/safari.md @@ -0,0 +1,31 @@ +--- +name: Apple Safari +description: Der native Webbrowser von Apple, optimiert für macOS und iOS mit Fokus auf Leistung und Energieeffizienz. +logo: /logos/sample-logo.svg +website: https://www.apple.com/de/safari/ +developer: apple +pricing: + - model: Kostenlos + price: €0 + yearly_price: €0 + features: + - Tiefe Integration ins Apple-Ökosystem + - Datenschutz und Tracking-Prävention + - Energieeffizientes Browsen + - Unterstützung für Web-Erweiterungen +features: + - "Leistung: Optimierte JavaScript-Engine und Hardwarebeschleunigung" + - "Energieeffizienz: Entwickelt, um die Akkulaufzeit auf Apple-Geräten zu maximieren" + - "Datenschutz: Intelligente Tracking-Prävention und Datenschutzbericht" + - "Integration: Nahtloser Betrieb mit anderen Apple-Geräten und -Diensten" + - "Erweiterungen: Unterstützung für Safari-Erweiterungen von Drittanbietern über den App Store" +categories: + - browser +platforms: + - macOS + - iOS +supportedPlatforms: + - macOS + - iOS +lastUpdated: 2025-03-28 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/de/sample-software.md b/apps-archived/techbase/apps/web/src/content/software/de/sample-software.md new file mode 100644 index 000000000..11ef7fc53 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/de/sample-software.md @@ -0,0 +1,44 @@ +--- +name: Beispiel Software +description: Dies ist eine Beispiel-Software, um die Funktionalität der Plattform zu demonstrieren. +logo: /logos/sample-logo.svg +website: https://example.com +pricing: + - model: Kostenlos + price: €0 + yearly_price: €0 + features: + - Grundlegende Funktionen + - Begrenzte Nutzung + - 1 Benutzer + - model: Pro + price: €9.99/Monat + yearly_price: €99.99/Jahr + features: + - Alle Funktionen + - Unbegrenzte Nutzung + - Premium Support + - 5 Benutzer + - model: Enterprise + price: €29.99/Monat + yearly_price: €299.99/Jahr + features: + - Alle Pro-Funktionen + - Dedizierter Support + - Unbegrenzte Benutzer + - Anpassbare Funktionen +features: + - "Feature 1: Beschreibung des ersten Features" + - "Feature 2: Beschreibung des zweiten Features" + - "Feature 3: Beschreibung des dritten Features" + - "Feature 4: Beschreibung des vierten Features" +categories: + - kategorie1 + - kategorie2 +platforms: + - Windows + - macOS + - Linux + - Web +lastUpdated: 2025-03-28 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/de/windows.md b/apps-archived/techbase/apps/web/src/content/software/de/windows.md new file mode 100644 index 000000000..e14e157fb --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/de/windows.md @@ -0,0 +1,53 @@ +--- +name: Microsoft Windows +description: Betriebssystem für Personal Computer und andere Geräte, entwickelt und vermarktet von Microsoft. +logo: /logos/sample-logo.svg +website: https://www.microsoft.com/windows +developer: microsoft +pricing: + - model: Home + price: €145 + yearly_price: "" + features: + - Grundfunktionen für den Heimgebrauch + - Zugang zum Microsoft Store + - Windows Hello biometrische Sicherheit + - Windows Sicherheitsupdates + - model: Pro + price: €259 + yearly_price: "" + features: + - Alle Home-Funktionen + - Remote Desktop + - BitLocker Geräteverschlüsselung + - Windows Information Protection + - Unternehmensverwaltungsfunktionen + - model: Pro for Workstations + price: €439 + yearly_price: "" + features: + - Alle Pro-Funktionen + - Verbesserte Leistung + - Persistent Memory + - Unterstützung für Server-Hardware + - ReFS-Dateisystem +features: + - "Startmenü: Anpassbare Oberfläche für den Zugriff auf Anwendungen und Dateien" + - "Microsoft Store: Integrierter Marktplatz für Anwendungen und Spiele" + - "Windows-Sicherheit: Integrierter Virenschutz und Sicherheitsschutz" + - "DirectX: Grafiktechnologie für Spiele und Multimedia" + - "OneDrive-Integration: Integrierter Cloud-Speicher und Synchronisierung" + - "Windows Hello: Biometrische Authentifizierung für sicheres Anmelden" +categories: + - operating-system +platforms: + - PC + - Laptop + - Tablet + - IoT-Geräte +supportedPlatforms: + - x86 + - x64 + - ARM +lastUpdated: 2025-03-28 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/de/word.md b/apps-archived/techbase/apps/web/src/content/software/de/word.md new file mode 100644 index 000000000..bd8575bf1 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/de/word.md @@ -0,0 +1,57 @@ +--- +name: Microsoft Word +description: Führende Textverarbeitungssoftware zum Erstellen, Bearbeiten und Formatieren von Textdokumenten. +logo: /logos/sample-logo.svg +website: https://www.microsoft.com/de-de/microsoft-365/word +developer: microsoft +pricing: + - model: Microsoft 365 Personal + price: €7,00 + yearly_price: €69,00 + features: + - Premium Office-Apps einschließlich Word + - 1 TB Cloud-Speicher + - Werbefreie E-Mail und Premium-Sicherheit + - Zugriff auf mehreren Geräten + - model: Microsoft 365 Family + price: €10,00 + yearly_price: €99,00 + features: + - Für bis zu 6 Personen + - Premium Office-Apps einschließlich Word + - 1 TB Cloud-Speicher pro Person + - Werbefreie E-Mail und Premium-Sicherheit + - model: Office Home & Student 2021 + price: €149,00 + yearly_price: €149,00 + features: + - Einmaliger Kauf für 1 PC oder Mac + - Enthält Word, Excel und PowerPoint + - Microsoft Support für 60 Tage + - Keine Feature-Updates +features: + - "Textverarbeitung: Erstellen und Bearbeiten professioneller Dokumente mit erweiterter Formatierung" + - "Vorlagen: Hunderte vorgefertigter Vorlagen für verschiedene Dokumenttypen" + - "Echtzeit-Zusammenarbeit: Mehrere Benutzer können Dokumente gleichzeitig bearbeiten" + - "Änderungen nachverfolgen: Überprüfen und Annehmen/Ablehnen von Bearbeitungen mehrerer Mitwirkender" + - "Intelligente Suche: Themen recherchieren, ohne das Dokument zu verlassen" + - "Übersetzung: Text oder ganze Dokumente zwischen Sprachen übersetzen" + - "Barrierefreiheitsprüfung: Sicherstellen, dass Dokumente für Menschen mit Behinderungen zugänglich sind" + - "Integration: Nahtlose Integration mit anderen Microsoft 365-Apps" +categories: + - office-suite + - productivity +platforms: + - Windows + - macOS + - Android + - iOS + - Web +supportedPlatforms: + - Windows + - macOS + - Android + - iOS + - Web +lastUpdated: 2025-03-29 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/en/acrobat-reader.md b/apps-archived/techbase/apps/web/src/content/software/en/acrobat-reader.md new file mode 100644 index 000000000..b7ed86bab --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/en/acrobat-reader.md @@ -0,0 +1,54 @@ +--- +name: Adobe Acrobat Reader +description: The global standard for reliably viewing, printing, and commenting on PDF documents. +logo: /logos/sample-logo.svg +website: https://www.adobe.com/acrobat/pdf-reader.html +developer: adobe +pricing: + - model: Free + price: €0 + yearly_price: €0 + features: + - View and print PDFs + - Comment on PDFs + - Fill and sign forms + - Store and share files online + - model: Acrobat Standard DC + price: €14.99 + yearly_price: €179.88 + features: + - Create PDFs + - Edit text and images + - Convert PDFs to Office formats + - Combine multiple files into one PDF + - model: Acrobat Pro DC + price: €24.99 + yearly_price: €299.88 + features: + - All Standard features + - Compare two versions of a PDF + - Edit on iPad and mobile devices + - Advanced PDF editing and protection +features: + - "PDF Viewing: View PDF content with high fidelity across devices" + - "Comments & Annotations: Mark up PDFs with highlighting and comments" + - "Form Filling: Complete fillable forms and add signatures" + - "Share & Review: Collect comments from multiple reviewers" + - "Mobile Access: View and annotate PDFs on mobile devices" + - "Cloud Storage: Access your PDFs from anywhere via Adobe Document Cloud" +categories: + - document + - productivity +platforms: + - Windows + - macOS + - Android + - iOS +supportedPlatforms: + - Windows + - macOS + - Android + - iOS + - Web +lastUpdated: 2025-03-29 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/en/android.md b/apps-archived/techbase/apps/web/src/content/software/en/android.md new file mode 100644 index 000000000..0bc06291a --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/en/android.md @@ -0,0 +1,40 @@ +--- +name: Android OS +description: Google's open-source mobile operating system that powers smartphones, tablets, and other devices. +logo: /logos/sample-logo.svg +website: https://www.android.com/ +developer: google +pricing: + - model: Free + price: €0 + yearly_price: €0 + features: + - Free open-source operating system + - Access to Google Play Store + - Regular security updates + - Integration with Google services +features: + - "Open Ecosystem: Open-source foundation with customization options" + - "Google Services: Deep integration with Google apps and services" + - "App Store: Access to millions of apps via Google Play Store" + - "Customization: Extensive personalization options for users and manufacturers" + - "Assistant: Google Assistant for voice commands and AI assistance" + - "Security: Regular security updates and built-in malware protection" + - "Multi-device: Supports phones, tablets, TVs, watches, and cars" + - "Developer Tools: Comprehensive SDK and developer resources" +categories: + - operating-system +platforms: + - Smartphones + - Tablets + - Smart TVs + - Wearables + - Automotive +supportedPlatforms: + - Smartphones + - Tablets + - Smart TVs + - Wearables + - Automotive +lastUpdated: 2025-03-29 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/en/chess-com.md b/apps-archived/techbase/apps/web/src/content/software/en/chess-com.md new file mode 100644 index 000000000..8b85af215 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/en/chess-com.md @@ -0,0 +1,55 @@ +--- +name: Chess.com +description: The world's leading online chess platform with millions of players, tutorials, tournaments, and analysis tools. +logo: /logos/sample-logo.svg +website: https://www.chess.com +screenshots: + - /screenshots/chess1.PNG + - /screenshots/chess2.PNG + - /screenshots/chess3.PNG + - /screenshots/chess4.PNG + - /screenshots/chess5.PNG +pricing: + - model: Free + price: €0 + yearly_price: €0 + features: + - Unlimited chess games + - Daily chess puzzles + - Video lessons + - Community forum + - model: Gold + price: €4.99/month + yearly_price: €49.99/year + features: + - All Free features + - Unlimited tactics puzzles + - 25 analysis per day + - No advertisements + - Advanced learning tools + - model: Platinum + price: €9.99/month + yearly_price: €99.99/year + features: + - All Gold features + - Unlimited analysis + - Premium videos and courses + - Advanced AI opponents + - Personalized training +features: + - "Play: Chess against AI or players worldwide with various time controls" + - "Learn: Interactive lessons, opening and tactics training" + - "Analysis: Deep game analysis with engine support" + - "Tournaments: Daily and weekly online chess tournaments" + - "Community: Forums, clubs, and friendship system" +categories: + - games + - category2 +platforms: + - Windows + - macOS + - iOS + - Android + - Web +lastUpdated: 2025-03-28 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/en/chrome.md b/apps-archived/techbase/apps/web/src/content/software/en/chrome.md new file mode 100644 index 000000000..53bde8750 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/en/chrome.md @@ -0,0 +1,37 @@ +--- +name: Google Chrome +description: Fast, secure browser developed by Google with built-in Google services integration. +logo: /logos/sample-logo.svg +website: https://www.google.com/chrome/ +developer: google +pricing: + - model: Free + price: €0 + yearly_price: €0 + features: + - Fast browsing experience + - Built-in phishing and malware protection + - Synchronization across devices + - Developer tools +features: + - "Speed: Chrome is optimized for performance with a fast JavaScript engine" + - "Security: Automatic updates and sandboxed tabs for enhanced security" + - "Sync: Synchronize bookmarks, history, passwords, and settings across devices" + - "Extensions: Access to thousands of extensions via the Chrome Web Store" + - "Developer Tools: Comprehensive built-in tools for web developers" +categories: + - browser +platforms: + - Windows + - macOS + - Linux + - Android + - iOS +supportedPlatforms: + - Windows + - macOS + - Linux + - Android + - iOS +lastUpdated: 2025-03-28 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/en/excel.md b/apps-archived/techbase/apps/web/src/content/software/en/excel.md new file mode 100644 index 000000000..7d5f2591d --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/en/excel.md @@ -0,0 +1,57 @@ +--- +name: Microsoft Excel +description: Powerful spreadsheet software with calculation, graphing tools, and pivot tables for data analysis. +logo: /logos/sample-logo.svg +website: https://www.microsoft.com/microsoft-365/excel +developer: microsoft +pricing: + - model: Microsoft 365 Personal + price: €7.00 + yearly_price: €69.00 + features: + - Premium Office apps including Excel + - 1TB cloud storage + - Ad-free email and premium security + - Access on multiple devices + - model: Microsoft 365 Family + price: €10.00 + yearly_price: €99.00 + features: + - For up to 6 people + - Premium Office apps including Excel + - 1TB cloud storage per person + - Ad-free email and premium security + - model: Office Home & Student 2021 + price: €149.00 + yearly_price: €149.00 + features: + - One-time purchase for 1 PC or Mac + - Includes Excel, Word, and PowerPoint + - Microsoft support for 60 days + - No feature updates +features: + - "Spreadsheet Functions: Over 400 built-in functions for complex calculations" + - "Data Analysis: Powerful tools like Power Pivot and Power Query" + - "Data Visualization: Create charts, graphs, and conditional formatting" + - "PivotTables: Summarize and analyze large datasets quickly" + - "What-If Analysis: Tools for sensitivity analysis and forecasting" + - "Real-time Collaboration: Multiple users can edit spreadsheets simultaneously" + - "Excel on the Web: Access and edit spreadsheets from any browser" + - "Integration: Connect to multiple data sources and Microsoft 365 apps" +categories: + - office-suite + - productivity +platforms: + - Windows + - macOS + - Android + - iOS + - Web +supportedPlatforms: + - Windows + - macOS + - Android + - iOS + - Web +lastUpdated: 2025-03-29 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/en/firefox.md b/apps-archived/techbase/apps/web/src/content/software/en/firefox.md new file mode 100644 index 000000000..60c851f47 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/en/firefox.md @@ -0,0 +1,37 @@ +--- +name: Mozilla Firefox +description: Open-source browser focused on privacy, customization, and web standards compliance. +logo: /logos/sample-logo.svg +website: https://www.mozilla.org/firefox/ +developer: mozilla +pricing: + - model: Free + price: €0 + yearly_price: €0 + features: + - Enhanced privacy protection + - Open source development + - Cross-platform synchronization + - Extensive customization options +features: + - "Privacy: Enhanced Tracking Protection blocks third-party tracking cookies by default" + - "Open Source: Transparent development process with code available for public review" + - "Customization: Highly customizable interface with themes and add-ons" + - "Container Tabs: Separate browsing contexts to prevent cross-site tracking" + - "Reader View: Distraction-free reading experience for articles" +categories: + - browser +platforms: + - Windows + - macOS + - Linux + - Android + - iOS +supportedPlatforms: + - Windows + - macOS + - Linux + - Android + - iOS +lastUpdated: 2025-03-28 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/en/gmail.md b/apps-archived/techbase/apps/web/src/content/software/en/gmail.md new file mode 100644 index 000000000..729bd4524 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/en/gmail.md @@ -0,0 +1,50 @@ +--- +name: Gmail +description: Google's email service offering smart features, spam protection, and seamless integration with other Google services. +logo: /logos/sample-logo.svg +website: https://gmail.com +developer: google +pricing: + - model: Free + price: €0 + yearly_price: €0 + features: + - 15 GB storage (shared with Google Drive) + - Smart email categorization + - Spam protection + - Mobile apps + - model: Google Workspace Business Starter + price: €5.20 + yearly_price: €62.40 + features: + - 30 GB storage per user + - Custom email address (@yourdomain) + - Video meetings up to 100 participants + - Security and management controls + - model: Google Workspace Business Standard + price: €10.40 + yearly_price: €124.80 + features: + - 2 TB storage per user + - Custom email address (@yourdomain) + - Video meetings up to 150 participants + - Recording and attendance tracking +features: + - "Smart Organization: Automatically sorts emails into Primary, Social, and Promotions tabs" + - "Search: Powerful search functionality to find any email, even with attachments" + - "Integration: Seamless integration with Google Calendar, Drive, and other Google services" + - "Security: Advanced phishing protection and suspicious activity detection" + - "Offline Access: Read, respond to, and search emails without an internet connection" +categories: + - email + - productivity +platforms: + - Web + - Android + - iOS +supportedPlatforms: + - Web + - Android + - iOS +lastUpdated: 2025-03-28 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/en/google-drive.md b/apps-archived/techbase/apps/web/src/content/software/en/google-drive.md new file mode 100644 index 000000000..c85aceb61 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/en/google-drive.md @@ -0,0 +1,64 @@ +--- +name: Google Drive +description: Cloud storage service that allows you to save, share, and collaborate on files and folders from any mobile device, tablet, or computer. +logo: /logos/sample-logo.svg +website: https://drive.google.com +developer: google +pricing: + - model: Free + price: €0 + yearly_price: €0 + features: + - 15 GB storage (shared with Gmail and Google Photos) + - File sharing and collaboration + - Integration with Google Docs, Sheets, and Slides + - Mobile access + - model: Google One Basic + price: €1.99 + yearly_price: €19.99 + features: + - 100 GB storage + - Access to Google experts + - Extra member benefits + - Family sharing + - model: Google One Standard + price: €2.99 + yearly_price: €29.99 + features: + - 200 GB storage + - Access to Google experts + - Extra member benefits + - Family sharing + - model: Google One Premium + price: €9.99 + yearly_price: €99.99 + features: + - 2 TB storage + - Access to Google experts + - Extra member benefits + - Family sharing + - 10% back in store credit on Google Store purchases +features: + - "Storage: Secure cloud storage for all file types" + - "Accessibility: Access your files from any device, anywhere" + - "Collaboration: Real-time editing and commenting with multiple users" + - "Search: Powerful search capabilities to find any file quickly" + - "Offline Access: Work on files without an internet connection" + - "Backup and Sync: Automatically back up important folders from your computer" +categories: + - cloud-storage + - productivity +platforms: + - Web + - Windows + - macOS + - Android + - iOS +supportedPlatforms: + - Web + - Windows + - macOS + - Android + - iOS +lastUpdated: 2025-03-28 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/en/google-maps.md b/apps-archived/techbase/apps/web/src/content/software/en/google-maps.md new file mode 100644 index 000000000..d1e81a9c7 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/en/google-maps.md @@ -0,0 +1,44 @@ +--- +name: Google Maps +description: Comprehensive mapping service offering navigation, real-time traffic information, street view, and local business listings. +logo: /logos/sample-logo.svg +website: https://maps.google.com +developer: google +pricing: + - model: Free + price: €0 + yearly_price: €0 + features: + - Navigation and directions + - Real-time traffic information + - Public transit information + - Street View + - Local business listings + - model: Maps Platform (API) + price: "Pay as you go" + yearly_price: "Based on usage" + features: + - Maps, Routes, and Places APIs + - Custom map styling + - Advanced routing algorithms + - Business location data + - 24/7 support and SLA +features: + - "Navigation: Turn-by-turn directions for driving, walking, cycling, and public transit" + - "Live Traffic: Real-time traffic data and incident reports" + - "Street View: 360° views of streets around the world" + - "Local Information: Restaurant reviews, business hours, and contact information" + - "Offline Maps: Download maps for use without an internet connection" +categories: + - navigation + - travel +platforms: + - Web + - Android + - iOS +supportedPlatforms: + - Web + - Android + - iOS +lastUpdated: 2025-03-28 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/en/ios.md b/apps-archived/techbase/apps/web/src/content/software/en/ios.md new file mode 100644 index 000000000..d8e568db9 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/en/ios.md @@ -0,0 +1,32 @@ +--- +name: iOS +description: Apple's mobile operating system designed exclusively for iPhone with a focus on security and seamless ecosystem integration. +logo: /logos/sample-logo.svg +website: https://www.apple.com/ios/ +developer: apple +pricing: + - model: Free + price: €0 + yearly_price: €0 + features: + - Free operating system for iPhone + - Regular feature and security updates + - Access to App Store + - Integration with Apple services +features: + - "Security: Strong privacy protections and regular security updates" + - "App Store: Curated marketplace with millions of apps" + - "Ecosystem Integration: Seamless connectivity with other Apple devices" + - "Performance: Optimized hardware-software integration" + - "Siri: Voice assistant with device control and AI capabilities" + - "iMessage: End-to-end encrypted messaging" + - "Updates: Consistent long-term software support" + - "Accessibility: Comprehensive accessibility features" +categories: + - operating-system +platforms: + - iPhone +supportedPlatforms: + - iPhone +lastUpdated: 2025-03-29 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/en/macos.md b/apps-archived/techbase/apps/web/src/content/software/en/macos.md new file mode 100644 index 000000000..1353e43c2 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/en/macos.md @@ -0,0 +1,32 @@ +--- +name: macOS +description: Apple's desktop operating system known for its user-friendly interface, security features, and tight integration with other Apple products. +logo: /logos/sample-logo.svg +website: https://www.apple.com/macos/ +developer: apple +pricing: + - model: Free + price: €0 + yearly_price: €0 + features: + - Free operating system for Mac computers + - Regular feature and security updates + - Access to Mac App Store + - Integration with Apple services +features: + - "User Interface: Intuitive design focused on simplicity and usability" + - "Security: Built-in malware protection and regular security updates" + - "Ecosystem Integration: Seamless connectivity with iPhone, iPad and other Apple devices" + - "Continuity: Handoff features between Mac and iOS devices" + - "UNIX Foundation: Based on UNIX, providing stability and developer tools" + - "App Store: Curated marketplace with thousands of apps" + - "iCloud: Built-in cloud storage and synchronization" + - "Professional Tools: Native support for creative and professional software" +categories: + - operating-system +platforms: + - Mac +supportedPlatforms: + - Mac +lastUpdated: 2025-03-29 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/en/office.md b/apps-archived/techbase/apps/web/src/content/software/en/office.md new file mode 100644 index 000000000..4e377c6ff --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/en/office.md @@ -0,0 +1,58 @@ +--- +name: Microsoft 365 +description: Productivity suite that includes applications like Word, Excel, PowerPoint, and Outlook, along with cloud services such as OneDrive and Teams. +logo: /logos/sample-logo.svg +website: https://www.microsoft.com/microsoft-365 +developer: microsoft +pricing: + - model: Personal + price: €6.99 + yearly_price: €69.99 + features: + - Premium Office apps + - 1TB OneDrive cloud storage + - Advanced security + - Use on multiple devices + - For 1 person + - model: Family + price: €9.99 + yearly_price: €99.99 + features: + - Premium Office apps + - 6TB total OneDrive cloud storage + - Advanced security + - Use on multiple devices + - For up to 6 people + - model: Business Standard + price: €12.50 + yearly_price: €150.00 + features: + - Premium Office apps + - 1TB OneDrive cloud storage + - Exchange email hosting + - Microsoft Teams + - For business use +features: + - "Desktop and Web Apps: Access to Word, Excel, PowerPoint, and Outlook" + - "Cloud Storage: OneDrive integration for file storage and sharing" + - "Collaboration: Real-time co-authoring and sharing capabilities" + - "AI Features: Smart assistance in documents, presentations, and spreadsheets" + - "Templates: Professionally designed templates and designs" + - "Security: Advanced security and compliance tools" +categories: + - productivity + - office-suite +platforms: + - Windows + - macOS + - iOS + - Android + - Web +supportedPlatforms: + - Windows + - macOS + - iOS + - Android + - Web +lastUpdated: 2025-03-28 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/en/photoshop.md b/apps-archived/techbase/apps/web/src/content/software/en/photoshop.md new file mode 100644 index 000000000..6fd967bd2 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/en/photoshop.md @@ -0,0 +1,55 @@ +--- +name: Adobe Photoshop +description: Industry-standard photo editing and manipulation software developed by Adobe. +logo: /logos/sample-logo.svg +website: https://www.adobe.com/products/photoshop.html +developer: adobe +pricing: + - model: Photography Plan + price: €9.99 + yearly_price: €119.88 + features: + - Photoshop on desktop and iPad + - Lightroom + - 20GB cloud storage + - Adobe Portfolio + - Adobe Fonts + - model: Single App + price: €20.99 + yearly_price: €251.88 + features: + - Photoshop on desktop and iPad + - 100GB cloud storage + - Adobe Portfolio + - Adobe Fonts + - Adobe Fresco + - model: All Apps (Creative Cloud) + price: €54.99 + yearly_price: €659.88 + features: + - 20+ creative desktop and mobile apps + - 100GB cloud storage + - Adobe Portfolio + - Adobe Fonts + - Premium features +features: + - "Layer-based editing: Advanced compositing with layers" + - "Selection tools: Precise object selection and masking" + - "Retouching tools: Professional photo correction and enhancement" + - "Neural Filters: AI-powered creative tools" + - "Camera Raw: Advanced raw image processing" + - "3D design: Create and enhance 3D content" + - "Video editing: Basic timeline-based video editing" + - "Typography tools: Advanced text layout and effects" +categories: + - design +platforms: + - Windows + - macOS + - iPad +supportedPlatforms: + - Windows + - macOS + - iPad +lastUpdated: 2025-03-29 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/en/safari.md b/apps-archived/techbase/apps/web/src/content/software/en/safari.md new file mode 100644 index 000000000..67f057d03 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/en/safari.md @@ -0,0 +1,31 @@ +--- +name: Apple Safari +description: Apple's native web browser optimized for macOS and iOS with focus on performance and energy efficiency. +logo: /logos/sample-logo.svg +website: https://www.apple.com/safari/ +developer: apple +pricing: + - model: Free + price: €0 + yearly_price: €0 + features: + - Deep integration with Apple ecosystem + - Privacy and tracking prevention + - Energy-efficient browsing + - Web extensions support +features: + - "Performance: Optimized JavaScript engine and hardware acceleration" + - "Energy Efficiency: Designed to maximize battery life on Apple devices" + - "Privacy: Intelligent Tracking Prevention and Privacy Report" + - "Integration: Seamless operation with other Apple devices and services" + - "Extensions: Support for third-party Safari extensions through the App Store" +categories: + - browser +platforms: + - macOS + - iOS +supportedPlatforms: + - macOS + - iOS +lastUpdated: 2025-03-28 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/en/sample-software.md b/apps-archived/techbase/apps/web/src/content/software/en/sample-software.md new file mode 100644 index 000000000..5be10992e --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/en/sample-software.md @@ -0,0 +1,44 @@ +--- +name: Sample Software +description: This is a sample software to demonstrate the functionality of the platform. +logo: /logos/sample-logo.svg +website: https://example.com +pricing: + - model: Free + price: €0 + yearly_price: €0 + features: + - Basic features + - Limited usage + - 1 user + - model: Pro + price: €9.99/month + yearly_price: €99.99/year + features: + - All features + - Unlimited usage + - Premium support + - 5 users + - model: Enterprise + price: €29.99/month + yearly_price: €299.99/year + features: + - All Pro features + - Dedicated support + - Unlimited users + - Customizable features +features: + - "Feature 1: Description of the first feature" + - "Feature 2: Description of the second feature" + - "Feature 3: Description of the third feature" + - "Feature 4: Description of the fourth feature" +categories: + - category1 + - category2 +platforms: + - Windows + - macOS + - Linux + - Web +lastUpdated: 2025-03-28 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/en/windows.md b/apps-archived/techbase/apps/web/src/content/software/en/windows.md new file mode 100644 index 000000000..5a27610a5 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/en/windows.md @@ -0,0 +1,53 @@ +--- +name: Microsoft Windows +description: Operating system for personal computers and other devices, developed and marketed by Microsoft. +logo: /logos/sample-logo.svg +website: https://www.microsoft.com/windows +developer: microsoft +pricing: + - model: Home + price: €145 + yearly_price: "" + features: + - Basic functions for home use + - Microsoft Store access + - Windows Hello biometric security + - Windows security updates + - model: Pro + price: €259 + yearly_price: "" + features: + - All Home features + - Remote Desktop + - BitLocker device encryption + - Windows Information Protection + - Business management features + - model: Pro for Workstations + price: €439 + yearly_price: "" + features: + - All Pro features + - Enhanced performance + - Persistent memory + - Server-grade hardware support + - ReFS file system +features: + - "Start Menu: Customizable interface for accessing applications and files" + - "Microsoft Store: Built-in marketplace for applications and games" + - "Windows Security: Integrated antivirus and security protection" + - "DirectX: Graphics technology for gaming and multimedia" + - "OneDrive Integration: Built-in cloud storage and synchronization" + - "Windows Hello: Biometric authentication for secure login" +categories: + - operating-system +platforms: + - PC + - Laptop + - Tablet + - IoT devices +supportedPlatforms: + - x86 + - x64 + - ARM +lastUpdated: 2025-03-28 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/software/en/word.md b/apps-archived/techbase/apps/web/src/content/software/en/word.md new file mode 100644 index 000000000..f526a88e3 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/software/en/word.md @@ -0,0 +1,57 @@ +--- +name: Microsoft Word +description: Leading word processor software for creating, editing and formatting text documents. +logo: /logos/sample-logo.svg +website: https://www.microsoft.com/microsoft-365/word +developer: microsoft +pricing: + - model: Microsoft 365 Personal + price: €7.00 + yearly_price: €69.00 + features: + - Premium Office apps including Word + - 1TB cloud storage + - Ad-free email and premium security + - Access on multiple devices + - model: Microsoft 365 Family + price: €10.00 + yearly_price: €99.00 + features: + - For up to 6 people + - Premium Office apps including Word + - 1TB cloud storage per person + - Ad-free email and premium security + - model: Office Home & Student 2021 + price: €149.00 + yearly_price: €149.00 + features: + - One-time purchase for 1 PC or Mac + - Includes Word, Excel, and PowerPoint + - Microsoft support for 60 days + - No feature updates +features: + - "Word Processing: Create and edit professional documents with advanced formatting" + - "Templates: Hundreds of pre-designed templates for various document types" + - "Real-time Collaboration: Multiple users can edit documents simultaneously" + - "Track Changes: Review and accept/reject edits from multiple contributors" + - "Smart Lookup: Research topics without leaving the document" + - "Translation: Translate text or entire documents between languages" + - "Accessibility Checker: Ensure documents are accessible to people with disabilities" + - "Integration: Seamless integration with other Microsoft 365 apps" +categories: + - office-suite + - productivity +platforms: + - Windows + - macOS + - Android + - iOS + - Web +supportedPlatforms: + - Windows + - macOS + - Android + - iOS + - Web +lastUpdated: 2025-03-29 +--- \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/translations/de.json b/apps-archived/techbase/apps/web/src/content/translations/de.json new file mode 100644 index 000000000..b9224725d --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/translations/de.json @@ -0,0 +1,76 @@ +{ + "common": { + "home": "Startseite", + "compare": "Vergleichen", + "categories": "Kategorien", + "developers": "Entwickler", + "software": "Software", + "about": "Über uns", + "contact": "Kontakt", + "search": "Suchen", + "results": "Ergebnisse", + "explore": "Entdecken", + "all": "Alle" + }, + "homepage": { + "title": "TechBase - Die zentrale Plattform für Software-Vergleiche", + "subtitle": "Finden, vergleichen und bewerten Sie Software-Lösungen", + "featured": "Empfohlene Software", + "categories": "Software-Kategorien", + "recent": "Kürzlich hinzugefügt", + "software": "Software" + }, + "developer": { + "founded": "Gegründet", + "headquarters": "Hauptsitz", + "software": "Software von", + "allSoftware": "Alle Software", + "employees": "Mitarbeiter", + "revenue": "Jahresumsatz", + "keyProducts": "Hauptprodukte", + "socialMedia": "Soziale Medien", + "industry": "Branche", + "softwareByCategory": "Software nach Kategorie", + "country": "Land", + "compare": "Vergleichen", + "compareDescription": "Vergleichen Sie diesen Entwickler mit anderen", + "inlineCompare": "Direkt vergleichen", + "selectAnother": "Anderen Entwickler auswählen" + }, + "software": { + "pricing": "Preismodelle", + "features": "Funktionen", + "platforms": "Plattformen", + "lastUpdated": "Zuletzt aktualisiert", + "vote": "Bewerten", + "comment": "Kommentieren", + "compare": "Vergleichen", + "monthlyPrice": "Monatlich", + "yearlyPrice": "Jährlich", + "compareDescription": "Vergleichen Sie diese Software mit anderen, um die beste Lösung für Ihre Bedürfnisse zu finden.", + "screenshots": "Screenshots", + "inlineCompare": "Direkt vergleichen", + "inlineCompareDescription": "Wählen Sie eine andere Software zum direkten Vergleich", + "selectAnother": "Andere Software auswählen", + "expandView": "Ansicht maximieren", + "minimizeView": "Ansicht minimieren" + }, + "voting": { + "usability": "Benutzerfreundlichkeit", + "features": "Funktionsumfang", + "performance": "Leistung", + "support": "Support", + "value": "Preis-Leistung", + "submit": "Bewertung abschicken", + "thankYou": "Vielen Dank für Ihre Bewertung!" + }, + "comments": { + "title": "Kommentare", + "writeComment": "Kommentar schreiben", + "yourName": "Ihr Name", + "yourComment": "Ihr Kommentar", + "submit": "Kommentar abschicken", + "moderation": "Ihr Kommentar wird nach der Moderation veröffentlicht.", + "noComments": "Noch keine Kommentare vorhanden." + } +} \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/content/translations/en.json b/apps-archived/techbase/apps/web/src/content/translations/en.json new file mode 100644 index 000000000..fee5f1af5 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/content/translations/en.json @@ -0,0 +1,76 @@ +{ + "common": { + "home": "Home", + "compare": "Compare", + "categories": "Categories", + "developers": "Developers", + "software": "Software", + "about": "About", + "contact": "Contact", + "search": "Search", + "results": "Results", + "explore": "Explore", + "all": "All" + }, + "homepage": { + "title": "TechBase - The central platform for software comparisons", + "subtitle": "Find, compare, and rate software solutions", + "featured": "Featured Software", + "categories": "Software Categories", + "recent": "Recently Added", + "software": "Software" + }, + "developer": { + "founded": "Founded", + "headquarters": "Headquarters", + "software": "Software by", + "allSoftware": "All Software", + "employees": "Employees", + "revenue": "Annual Revenue", + "keyProducts": "Key Products", + "socialMedia": "Social Media", + "industry": "Industry", + "softwareByCategory": "Software by Category", + "country": "Country", + "compare": "Compare", + "compareDescription": "Compare this developer with others", + "inlineCompare": "Compare Inline", + "selectAnother": "Select Another Developer" + }, + "software": { + "pricing": "Pricing Models", + "features": "Features", + "platforms": "Platforms", + "lastUpdated": "Last Updated", + "vote": "Rate", + "comment": "Comment", + "compare": "Compare", + "monthlyPrice": "Monthly", + "yearlyPrice": "Yearly", + "compareDescription": "Compare this software with others to find the best solution for your needs.", + "screenshots": "Screenshots", + "inlineCompare": "Compare Inline", + "inlineCompareDescription": "Select another software for side-by-side comparison", + "selectAnother": "Select Another Software", + "expandView": "Expand View", + "minimizeView": "Minimize View" + }, + "voting": { + "usability": "Usability", + "features": "Features", + "performance": "Performance", + "support": "Support", + "value": "Value for Money", + "submit": "Submit Rating", + "thankYou": "Thank you for your rating!" + }, + "comments": { + "title": "Comments", + "writeComment": "Write a Comment", + "yourName": "Your Name", + "yourComment": "Your Comment", + "submit": "Submit Comment", + "moderation": "Your comment will be published after moderation.", + "noComments": "No comments yet." + } +} \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/layouts/AdminLayout.astro b/apps-archived/techbase/apps/web/src/layouts/AdminLayout.astro new file mode 100644 index 000000000..d46ad4455 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/layouts/AdminLayout.astro @@ -0,0 +1,102 @@ +--- +import '../styles/global.css'; + +export interface Props { + title: string; +} + +const { title } = Astro.props; +--- + + + + + + + {title} | TechBase Admin + + + + + +
    + + + + +
    +
    +

    TechBase Admin

    + + +
    + + +
    + + +
    +
    +

    {title}

    + + +
    +
    +
    + + + + \ No newline at end of file diff --git a/apps-archived/techbase/apps/web/src/layouts/BaseLayout.astro b/apps-archived/techbase/apps/web/src/layouts/BaseLayout.astro new file mode 100644 index 000000000..3bb566902 --- /dev/null +++ b/apps-archived/techbase/apps/web/src/layouts/BaseLayout.astro @@ -0,0 +1,106 @@ +--- +import '../styles/global.css'; +import Header from '../components/Header.astro'; +import Footer from '../components/Footer.astro'; + +export interface Props { + title: string; + description?: string; +} + +const { title, description = 'TechBase - Software-Vergleiche, Bewertungen und mehr' } = Astro.props; +--- + + + + + + + {title} | TechBase + + + + + + + + + + + + + + + + +
    +
    + +
    +