All entries must include source as part of the submission or a link to the source hosted externally (DropBox, GitHub, etc.)"
How can i achieve this?
When you create your project in Unity, for example, your first step is to name the project and select a location to save it, usually in a folder named after the game 'MyAwesomeGame' - then all your files are in MyAwesomeGame/. You would want to upload that entire directory to your destination of choice, like dropbox, or if you are using GitHub you can push all your code to a repo (if you don't know git, maybe avoid this route for now as it may be a lot to try to learn in addition to everything else). Whatever you choose, make it publicly available and share the link with your submission.
Actually you want to filter out some of the folders inside "MyAwesomeGame", especially the `Library` folder, but also "Logs", "obj", and "Temp" (if there is one).
If you go with Git (highly recommended!), there are other hosting sites as well even if Github is most known. (GDTV uses Gitlab for example, and there is bitbucket.org, too)
Make sure you add a `.gitignore` file to your project, and add it *first*. A well-tuned ignore file will have the Library and other things listed so they won't get added into your git repository.
Agree with all above. If you have time, learning a version control system (a.k.a. VCS) like Git is really helpful for any sort of development. The first step is to understand the very simple basic principle -- it's save points for game dev. Treat it like that to start with. You figure something out and are happy with the state of your project, "commit" (a.k.a. save the game!). Ever do something and think "oh no, it's all gone wrong!", you can simply "revert" (reload from save point). Truthfully it's a *lot* more powerful than this description but if you start with that basis, you're well on your way to gaining most of the benefit.
One tiny addendum to all of this is that Unity creates a lot of extra junk. In or out of VCS, it will just regenerate it if it's not present. As such, we never commit that stuff to VCS. You tell Git what to 'skip' saving (since Unity will rebuild it) by having a simple text file called ".gitignore" next to the ".git" directory (where Git stores all its save points). Google online to find one for Unity and when you want to save your game, it'll keep the list of stuff that's changed much smaller (and thus easier to read and use less space!).
HTH and GL! :)