Pengembangan Perangkat Lunak dengan 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
Sebuah Music Analytics API sederhana dengan pola yang sudah ada dan harus dipatuhi.
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 atau ketik /planCtrl+G untuk memvisualisasi, menyetujui, meninjau, atau mengeditnya> 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: Add POST /api/login endpoint
Context
The music analytics API has session infrastructure in place
(flask_session, SECRET_KEY, session already imported in routes)
but no authentication.
Files to Modify
- models.py: add User class, UserStore class, user_store singleton
- routes.py: expand import, add login route
No changes needed to app.py, config.py, middleware.py, or analytics.py.
> think about how to add authentication to this API
| Perintah | Kedalaman Penalaran |
|---|---|
think |
Penalaran dasar |
think more |
Penalaran diperluas |
think a lot |
Penalaran komprehensif |
think longer |
Penalaran dengan waktu lebih lama |
ultrathink |
Penalaran maksimum |

/clear
Pengembangan Perangkat Lunak dengan Claude Code