Softwareontwikkeling met Claude Code
Dani Zysman
AI Curriculum Manager @ DataCamp


music-analytics-api/
app.py # Application entry point
routes.py # API endpoints
models.py # Artist/Album models
analytics.py # Statistics functions
middleware.py # Request logging
config.py # Session settings
Een eenvoudige Music Analytics API met bestaande patronen die we moeten respecteren.
CLAUDE.md:
> /init
Music Analytics API
A Flask-based REST API for music data analytics.
Project Structure
- app.py Flask application entry point
- routes.py API endpoint definitions
- analytics.py Statistical analysis functions
Coding Conventions
- Use type hints for function parameters
- Include docstrings for all public functions
- Follow PEP 8 style guidelines
Shift+Tab of typ /planCtrl+G om te visualiseren, goed te keuren, te bekijken of te bewerken> Add a /api/login endpoint that creates a session for a user
from flask import jsonify, request
from flask_login import LoginManager, login_user
from app import app
login_manager = LoginManager(app)
@app.route('/api/login', methods=['POST'])
def login():
"""Handle user login and create session."""
data = request.get_json()
user = User.query.filter_by(username=data['username']).first()
if user and user.password == data['password']:
login_user(user)
return jsonify({'status': 'success'})
return jsonify({'error': 'Invalid credentials'}), 401
> /plan Add a /api/login endpoint that creates a session for a user
Plan: Voeg POST /api/login-endpoint toe
Context
De music analytics API heeft sessie-infrastructuur
(flask_session, SECRET_KEY, session al geïmporteerd in routes)
maar geen authenticatie.
Te wijzigen bestanden
- models.py: voeg User-klasse, UserStore-klasse, user_store-singleton toe
- routes.py: breid import uit, voeg loginroute toe
Geen wijzigingen nodig in app.py, config.py, middleware.py of analytics.py.
> think about how to add authentication to this API
| Opdracht | Diepte van redeneren |
|---|---|
think |
Basisredenering |
think more |
Uitgebreidere redenering |
think a lot |
Grondige redenering |
think longer |
Langer redeneren |
ultrathink |
Maximale redenering |

/clear
Softwareontwikkeling met Claude Code