- AWS Account
- AWS CLI configuré
- Node.js 18+
- Python 3.12+
- CDK CLI
# Cloner le repo
git clone https://github.com/echetoui/scamguard-mvp.git
cd scamguard-mvp
# Exécuter le setup
./scripts/setup.shLe script va:
- Installer AWS CLI, CDK, Node.js
- Configurer AWS credentials
- Créer les secrets (Gemini + OpenAI keys)
- Installer les dépendances Python
Si non fait par le script:
# Gemini API Key
aws secretsmanager create-secret \
--name scamguard/gemini-key \
--secret-string "YOUR_GEMINI_KEY"
# OpenAI API Key
aws secretsmanager create-secret \
--name scamguard/openai-key \
--secret-string "YOUR_OPENAI_KEY"Première fois seulement:
cd backend/cdk
cdk bootstrap# Option 1: Script automatique
./scripts/deploy.sh
# Option 2: Manuel
cd backend/cdk
source .venv/bin/activate
cdk deployaws cloudformation describe-stacks \
--stack-name ScamGuardStack \
--query 'Stacks[0].Outputs' \
--output tableOutputs importants:
APIEndpoint: URL de l'APIUserPoolId: Cognito User Pool IDUserPoolClientId: Cognito Client IDCloudFrontURL: URL du frontendFrontendBucket: Nom du bucket S3
cd frontend
# Créer .env avec les outputs
cat > .env << EOF
REACT_APP_API_URL=<APIEndpoint>
REACT_APP_USER_POOL_ID=<UserPoolId>
REACT_APP_USER_POOL_CLIENT_ID=<UserPoolClientId>
EOF
# Build
npm install
npm run build
# Deploy vers S3
aws s3 sync dist/ s3://<FrontendBucket>/# Ouvrir l'URL CloudFront
open <CloudFrontURL>
# Créer un compte test
# Tester les fonctionnalités# Voir les logs Lambda
aws logs tail /aws/lambda/ScamGuardStack-APILambda --follow
# Voir les métriques
aws cloudwatch get-dashboard --dashboard-name ScamGuard# Détruire le stack
cdk destroy
# Ou rollback vers version précédente
aws cloudformation rollback-stack --stack-name ScamGuardStack# Vérifier les secrets
aws secretsmanager list-secretscdk bootstrap aws://ACCOUNT-ID/REGION# Augmenter le timeout dans scamguard_stack.py
timeout=Duration.seconds(60)Vérifier les coûts:
aws ce get-cost-and-usage \
--time-period Start=2025-03-01,End=2025-03-31 \
--granularity MONTHLY \
--metrics BlendedCost