A. To handle user authentication
B. To include third-party contributions and extensions
C. To define URL patterns
D. To create HTML templates