**Business Requirements:**
1. **Meals List Screen:**
- Display meal information, including meal name, number of stars, and average rating.
- Provide options for users to log in, register, and show the details of the already logged-in user.
2. **Popup Error for Duplicate Ratings:**
- Implement a popup error message when a user tries to rate a meal they have already rated to prevent duplicate ratings.
3. **Add Rate Screen:**
- Allow users to rate meals using a star rating system ranging from 1 to 5.
- Include a "SAVE" button to save the user's rating.
**Technical Requirements:**
1. **Models:**
- Implement Django models for Meal, Stars, and User to manage data related to meals, ratings, and user information.
2. **Validation for Duplicate Ratings:**
- Implement validation to check if a user has already rated a specific meal to prevent duplicate ratings.
3. **Validation for Rating Range:**
- Set up validation to ensure that the rating provided by the user falls within the range of 1 to 5.
4. **CRUD API for Meals (http://127.0.0.1:8000/api...):**
- Create CRUD API endpoints for managing meals.
- Include functionality to return the average rating and the number of ratings along with meal details.
5. **CRUD API for Stars (http://127.0.0.1:8000/api...):**
- Implement CRUD API endpoints for managing stars.
- Ensure that these endpoints are not accessible for rating purposes.
6. **Rate API (http://127.0.0.1:8000/api...):**
- Develop an API endpoint to create and update meal ratings.
- Link this endpoint to the specific meal using the meal's primary key (meal_pk).
7. **Token Authentication:**
- Implement token authentication to secure the APIs and ensure that only authorized users can access and modify data.
8. **Login and Register API:**
- Create APIs for user login and registration to manage user authentication.
9. **Token Request API:**
- Develop an API endpoint for requesting authentication tokens, allowing users to obtain tokens after successful login.
These technical requirements ensure the implementation of a secure and functional system that allows users to interact with meals, rate them, and view relevant information through a user-friendly interface. The use of Django REST framework and token authentication enhances the overall security and reliability of the system.