You've reached the end of this course about working with data in Android. Well done. You did a lot of work, learned new skills, discovered some development tools and expanded your understanding of how to integrate your app with data sources. Take a moment to congratulate yourself and reflect on all you have learned in this course. This end of course, graded assessment week features a final project where you will get a chance to apply what you've learned in a development environment. There you will get JSON data from a rest endpoint, implement a REST API query and convert the JSON response, storing it in SQLite. You will also display data as a list in the app and implement filtering and sorting of the data to allow users search a food menu in the app. But before you embark on the final project and assessment, let's reflect on the key learning milestones you have reached. You began this course with an introduction to REST APIs, and you got to know about RESTful API in Android development. You had a quick summary of what HTTP and HTTPS are and how they relate to Android development. For instance, exploring how HTTPS communication requires a client requesting information on a server that responds to the request to serve the content for your app. That included knowing about methods such as GET, POST, PUT, PATCH, and DELETE. REST is an architectural style for designing APIs for a project. You can only say that an API is RESTful if it's constraints are met. You recapped on important areas such as REST best practices, security, authentication, authorization, and access control. That got you covered for most of the API concepts and the core details of REST APIs. While working with HTTP in Kotlin, the major items you covered included knowing how Ktor is used to process requests and responses synchronously and asynchronously, sending and receiving JSON in Kotlin, practicing how to fetch image URLs and display dynamically in the app. You learned about querying a REST API with Jason as the data format. Following an introduction to databases and SQL, you could, for instance, load database data into the Little Lemon app to display menu information. You learned about the concepts of data and databases, including how data is related in a database and different database structures and their uses. You then progressed to learn about more advanced database techniques and practice performing, create, read, update, and delete operations in an app. And use SQL operators to sort and filter data. To complete your work with SQL data in Android, you operate it with the alternative data techniques of SharedPreferences and SQLite. Using either SharedPreferences or SQLite, you examine how to persist simple and complex data which you can later query. For instance, you can use such an approach to ask a Little Lemon app user for their name and use that as part of a welcome message. SharedPreferences could persist different types of simple data like usernames, the app startup time, or other settings such as a receive notification preference. With SQLite, you can persist the data returned from an API locally. Working with SQL statements, SQLite can persist, update, delete, or read data. To properly work with data in SQLite, you practice setting up room and connected room to state. When that setup was completed, you could then run queries and read and write using room. Well done, you've covered many concepts and skills and gained significant Android mobile app development knowledge during this course. Best of luck as you try out all these approaches to working with data for you app.