~ NEA Task 2 (OCR GCSE COMPUTING) - Create a Netflix type intelligent profiling system in Python


Sample Project

*Teachers with subscriptions will have access to all solution code (python files)

Creating a Netflix type program

Okay, so it's not going to be EXACTLY LIKE Netflix, in that Netflix is far more complicated than this, but it is going to get you thinking along the right lines. Also, this is going to be a text based solution so you have to use your imagination a little and remember this is real coding! You won't be able to "click" a like, but type "l" for like and so on. You'll be using a ton of python skills to complete this project, and also working through questions of the best structure for file storage, and thinking about intelligent profiling algorithms. You're going to love it - if you're up for the challenge that is!

A little about Netflix

Intelligent profiling?

The task?

You need to create a NETFLIX type program. A user needs to be able to log on using a secure password and a unique username. This means they also need to be able to register, if they don't have an account. Once in, they need to be able to view films, like films (and to store these views and likes for future reference), search for films by genre, keyword, title and finally, your program needs to come up with a clever algorithm for intelligent profiling - for example: recommending films to the user based on their previous viewings! That's a very brief overview

Download the task here

Click here to download and carefully read through the whole task

All the best!

Analyse

Write your own summary of the problem. What are your objectives? List the success criteria

Remember Decomposition? Breaking the problem down?

Well, hopefully you've done that for the entire problem - have a read of the introduction and task again, if not. We have broken it down ourselves, but you may have a different method. Always try it yourself, before looking at the suggested answers

There is no one perfect way to solve a problem, but we're going to take you through a possible solution, and try it yourself to see if you can do better, for each step! 

The problem could be broken down into the following sub-problems. We are going to solve (or try to) each one:

1. Create a Main Menu - Start Screen

2. Registration Screen + define an overview of all the functions/sub programs needed in the program

3. Ensure a secure password is used

4. Create the Login functionality

5. Create the Films Menu Screen (FAKEFLIX MENU)

6. View Films feature - users can view a film

7. Viewed Films are stored to file

8. Users can "like" films, likes are stored and incremented

9. Users can search for a film by Title

10. Users can search by Rating

11. Recommendations for films based on previous film genres

Design Tools

Systems Life Cycle (in a nutshell): Analyse - Design - Create - Test - Evaluate. Designing something or writing out some pseudocode before you actually write code is always a good idea! Get in to the habit of doing so! You can draw your flowchart here and screenshot it.

Try it yourself

Testing Table

You may want to read a little about Testing first. A teacher may go through some examples with you. Feel free to fill in the test table here, and screenshot it in to your powerpoint. Testing is absolutely essential once you have created a program!
Test No. Description Test Data(input) Expected Outcome Actual Outcome Further Action?
1
2
3
4
5
Coming soon!