mirror of
https://github.com/samiyev/puaros.git
synced 2025-12-28 07:16:53 +05:00
Added comprehensive demo project showcasing ipuaro capabilities: New Files: - examples/demo-project/: Complete TypeScript demo application - src/: User management, auth, validation, logging (336 LOC) - tests/: Vitest unit tests for UserService - Configuration: package.json, tsconfig.json, .ipuaro.json Demo Features: - UserService with CRUD operations - AuthService with login/logout/verify - Validation utilities (email, password) - Logger utility with multiple log levels - TypeScript types and interfaces - Intentional TODOs (2) and FIXMEs (1) for tool demonstration Documentation: - README.md: Detailed usage guide with example queries - EXAMPLE_CONVERSATIONS.md: Realistic conversation scenarios - Tool demonstration scenarios (bug fix, refactoring, features) - Workflow examples (security audit, optimization, code review) Updated: - packages/ipuaro/README.md: Added Quick Start section linking to examples Project Statistics: - 12 files total - 336 lines of TypeScript code - 7 source modules demonstrating various patterns - Full test coverage examples - Demonstrates all 18 tools capabilities This completes the "Examples working" requirement for v1.0.0
49 lines
1.3 KiB
TypeScript
49 lines
1.3 KiB
TypeScript
/**
|
|
* Demo application entry point
|
|
*/
|
|
|
|
import { UserService } from "./services/user"
|
|
import { AuthService } from "./auth/service"
|
|
import { createLogger } from "./utils/logger"
|
|
|
|
const logger = createLogger("App")
|
|
|
|
async function main(): Promise<void> {
|
|
logger.info("Starting demo application")
|
|
|
|
// Initialize services
|
|
const userService = new UserService()
|
|
const authService = new AuthService(userService)
|
|
|
|
try {
|
|
// Create a demo user
|
|
const user = await userService.createUser({
|
|
email: "demo@example.com",
|
|
name: "Demo User",
|
|
password: "password123",
|
|
role: "admin"
|
|
})
|
|
|
|
logger.info("Demo user created", { userId: user.id })
|
|
|
|
// Login
|
|
const token = await authService.login("demo@example.com", "password123")
|
|
logger.info("Login successful", { token: token.token })
|
|
|
|
// Verify token
|
|
const verifiedUser = await authService.verifyToken(token.token)
|
|
logger.info("Token verified", { userId: verifiedUser.id })
|
|
|
|
// Logout
|
|
await authService.logout(token.token)
|
|
logger.info("Logout successful")
|
|
} catch (error) {
|
|
logger.error("Application error", error as Error)
|
|
process.exit(1)
|
|
}
|
|
|
|
logger.info("Demo application finished")
|
|
}
|
|
|
|
main()
|