zhiminy/EvalEng huggingface dataset:
Repository: Cloud-CV/EvalAI
Issue: Add field named method_name in Submission model
Root cause: Unimplemented Feature Gap

_What ?_

Add a field named `method_name` in `Submission` model of `jobs` app. The field should be a CharField with maximum length as 1000. The field will be nullable.

_Why ?_

So that a user or challenge host can track which method(like KNN, etc) is being used to make a submission.
It is optional because many a times no such definite name of function need not be present.

_How ?_

This issue will involve updating `Submission` model of `jobs` app. A CharField with a maximum length of 1000 which can be null will be added. Corresponding to this change, a named migration will also be added.

_Impact/Learning ?_

Learning about various types of [Django model fields](https://docs.djangoproject.com/en/1.10/ref/models/fields/). Also a bit about what are [Django migration](https://docs.djangoproject.com/en/1.10/topics/migrations/) and how they work.

@TroJan  Can I work on this?

@RishabhJain2018 : sure :)
Repository: Cloud-CV/EvalAI
Issue: Add created_by in ChallengeHostTeam
Root cause: Unimplemented Feature Gap

With the existing design, it is actually very different to fetch ChallengeHostTeam objects of a particular user. One of the hacks that can be used to solve this are
* fetch challenge host object of current user with permission level as admin and then query by it(select_related) to ChallengeHostTeam. But this is very much for a simple use case.

Adding this column will help us deal with the use case of fetching all the challenge host team object of a single user.

Fixed via #85
Repository: Cloud-CV/EvalAI
Issue: Change binding key for submission worker
Root cause: Unimplemented Feature Gap

__Problem__

Presently submission worker creates an exclusive queue and binds on that queue with a key of `challenge.add.*`.

__Why__ ?

The key needs to be changed because we need to add support for editing of challenge file also. In the future we will bind on key `challenge.*.*` and then add a check in the code to take action accordingly

__Impact__ ?

It will extend submission worker to add support for scenarios where challenge related files are being edited.

__How__ ?

The relevant code is in file `scripts/workers/submission_worker.py`. Ideally the key should now be `challenge.*.*`

__TakeAways__

About RabbitMq, Exlcusive Queue and binding keys

@TroJan Can I work on this?

@RishabhJain2018 : thanks for the fix. :)

@TroJan Welcome ! :smile:
Repository: Cloud-CV/EvalAI
Issue: "New password can't be same as old password" displayed in password change view even when old password inserted is wrong.
Root cause: Validation Gap

@deshraj @aka-jain @TroJan What do you think about this?
This should not be a front end validation. Rather such errors and warnings should be part of API responses.

@deshraj I think this issue should be closed.

Thanks for noticing @xamfy. Closing this.
Repository: Cloud-CV/EvalAI
Issue: Footer not fixed in our team view & contact us view  

![contact](https://cloud.githubusercontent.com/assets/16323427/23964639/1e9cdf06-09db-11e7-9c54-f4471cdf9ce4.png)

@aka-jain can I fix this?

![oteam](https://cloud.githubusercontent.com/assets/16323427/23964973/6f697984-09dc-11e7-9f17-1bf815723512.png)


Fixed in #843
Repository: Cloud-CV/EvalAI
Issue: Scroll to details section on home page.
GitHub labels: GSOC-2019

medium-difficulty

There is an option to scroll up to second section in  Landing page by clicking on "Get Insight". Need to implement smooth scroll which will scroll the page with in limit of atmax 2ms.

In case of query, leave your comment here.

Where shall I add the script ? Shall I create a separate script file under /src/controllers or create a custom separate function in any of the scripts present in  /src/controllers ?

Can you make a directive for this?

https://github.com/oblador/angular-scroll/ Can I add these instead in the dependecies file of bower ? and use it.

Sure, you can use it.

For your information, to add external files, add their file path in app.script.json in case of JS and app.styles.json in case of CSS. And run gulp dev which will build vendor.js and vendor.css. Then you don't need to add their paths in index file externally.
Let me know in case of query.

after installing the library and setting the path. do I need to manually import the directive in the landing.html file by adding ng-model and ng-app or it directly imports the function from the path provided ?

For adding any dependency use **app.js** file, and in case you want to write a directive then write it in **directive.js** file. No need to add paths manually.
Repository: Cloud-CV/EvalAI
Issue: Add support to reload worker whenever Challenge or Challenge Phase file changes
Root cause: Unimplemented Feature Gap

Description: The worker when starts loads all the active challenges and challenge phase. It fetches `evaluation_script` for Challenge and `test_annotation` for Challenge Phase and stores them on disk.

Now if the Challenge Host updates any of these files, then should be reflected in the worker also.

We need to add support for this

It is a big issue, Hence it will involve many sub-issues

- [ ] Log change in Challenge and Challenge Phase model when file fields are updated, Issue [839](https://github.com/Cloud-CV/EvalAI/issues/839)
- [ ] Add support in submission worker to update file field changes for Challenge and Challenge Phase, Issue [840](https://github.com/Cloud-CV/EvalAI/issues/840)
- [ ] Publish message whenever file field of Challenge and Challenge Phase changes, Issue [841](https://github.com/Cloud-CV/EvalAI/issues/841)

Note: This issue on its own does not require any coding, Just that it will help us to track the progress  of individual sub-issues and have a broader picture here.
  

@taranjeet Can I take this up?

@deshraj @RishabhJain2018 : Same for this issue. If not required can we please close it?

We would need this feature really soon after migrating to SQS #1752. Closing as of now since the issue description is outdated now.
Repository: Cloud-CV/EvalAI
Issue: Email Confirmation

Currently for the email confirmation, user doesn't get an email but a link of the confirmation on the terminal. 

@deshraj @TroJan Can I write a python script to send a confirmation email and then integrate it. Your feedback will be highly appreciated.

@AnshulBasia : hey, the reason for the mail being printed on your terminal is the below line in your dev settings(`settings/dev.py`)

```
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
```

So, Idea here is Django already provides a backend of its own which we can use in development environment to check the content of the mail(without actually sending the mail using any credentials). In the production environment, we have put in the required credentials where in mail is actually sent.

However, if you really want to send mail and see how it looks in your mail client, you can add your username and password in the `EMAIL_HOST_USER` and `EMAIL_HOST_PASSWORD` and comment out `EMAIL_BACKEND` line.

Hope it helps!

Closing this issue, since it is not valid.
Repository: Cloud-CV/EvalAI
Issue: Fade Effects on route change
GitHub labels: GSOC-2019

medium-difficulty

frontend

@aka-jain @spyshiv is it good ? 

Not getting. Please elaborate!

@aka-jain Like this one (https://tympanus.net/Tutorials/CSS3ContentTabs/)

![screenshot from 2017-03-19 17 19 42](https://cloud.githubusercontent.com/assets/8139783/24080600/e0962b5e-0cc8-11e7-9097-09e0afeb06ff.png)

Same here

Yes we can, but these are not tabs basically these are routes. So I'm giving upon you to find the solution for this. 

Ohh sure @aka-jain  :smiley: 

@aka-jain found something here http://jasonwatmore.com/post/2016/01/20/angular-nganimate-tutorial-with-ui-router.
Better if we add this to some other route changes too. 

@anweshknayak go ahead and do this task!

@anweshknayak progress?

@aka-jain you can make this issue free for others. :) I haven't started working on this yet

This feature isn't much needed, so closing it for now.
Repository: Cloud-CV/EvalAI
Issue: Add nullable attribute to the Team Model
GitHub labels: enhancement

GSOC-2019

easy_to_fix

backend

Following changes are required in the Team model: 

- [x] Convert the URLFields to CharField with URL

- [x] Change the fields `email`, `github_url`, `linkedin_url`, `personal_website` to nullable fields

@deshraj Can I work on this?

Yeah sure. Go ahead. :) 


@deshraj Can we use [slugfield](https://docs.djangoproject.com/en/1.8/ref/models/fields/#slugfield) for task 1? 

No, can you please change them with `CharField` ? 

@deshraj okay sure.
Repository: Cloud-CV/EvalAI
Issue: Create an API Endpoint to show all the submissions to Challenge Host for a particular Challenge
GitHub labels: enhancement

GSOC-2019

hard-to-fix

backend

### Objective

The aim is to create an API endpoint which fetches all the submissions of a Challenge and and returns as a JSON Response. 

### Constraints:
- URL: `/api/challenges/<challenge_pk>/submissions/`
- Only the Challenge Host of that particular challenge can access this information. 
- Request Method: `GET`
- Response on success: `200`
- Response on not allowed: `406`
- Pagination: `YES`


### Stretch Goal
After we have the API ready, we would like to add support for filtering the submissions according to the `date of submission`, `challenge phase`, `status of submissions`. 

@deshraj can I work on this one?

@deshraj can I work on this?

@yadavankit Yeah, you can work on this. :) 

@yadavankit Please don't start working on this if you haven't started yet. I would like to do it myself since we need this feature ASAP. Sorry for the last minute information. 

@deshraj I saw this just now, had to run some errands. No issues :)

Cool, thanks for coordinating. :)
Repository: Cloud-CV/EvalAI
Issue: Create view to show all the submissions of a Challenge to Challenge Hosts
Root cause: Unimplemented Feature Gap

### Objective

Create a view that will show all the submissions to a Challenge. The link should be shown as a different tab in the Challenge View to Challenge Hosts of that Challenge. 
*Note:* This can be only seen by the Challenge Host of a Particular challenge. 

### Reference

It would be very similar to the `My Submissions` view of a challenge. Please let us know if you need help with this. 

### Depends On

#850 

@deshraj  can you share the design of this page or should I try one that will match our current design?

@deshraj Since we have this feature. We should close this now.
Repository: Cloud-CV/EvalAI
Issue: Contact Us form not working properly
GitHub labels: bug

GSOC-2019

easy_to_fix

frontend

backend

critical

The Contact Form is not working properly. Please check the console logs and fix it accordingly. 

@deshraj Can I work on this?

@deshraj I think we should also modify this api to also return the `name` and `email` of the user on the `GET` request as it will be handy for the user not to fill the name & email in the contact form once he is logged in and these will be shown automatically in the form.
Moreover, we are also taking the `name` and `email` of the user from the database only , if he is logged in. Please refer [here](https://github.com/Cloud-CV/EvalAI/blob/master/apps/web/views.py#L37).
What do you say?

I think we should just fill the name and email address already in the contact form if the user is already logged in.

@deshraj Yeah. For that we need to modify the api. I think a separate issue will be good for this. What do you say?

Sounds good to me. 

@deshraj Please check it once , I think it is not fixed.

@RishabhJain2018 Thanks for pointing out. Reopening it now.

@RishabhJain2018 Is it done?

@aka-jain No, Actually I need to change the API accordingly, I will fix it asap.

Sure 👍
Repository: Cloud-CV/EvalAI
Issue: Setup Sphinx Documentation
GitHub labels: enhancement

GSOC-2019

easy_to_fix

backend

All the documentation of EvalAI resides in `/docs` folder in the project repository. We would like to setup sphinx documentation at `/docs` for this project. Since we use the `.md` extension file format, so it would be easy to set it up. 

For more details, please see https://daler.github.io/sphinxdoc-test/includeme.html


![make_latex](https://cloud.githubusercontent.com/assets/12856392/24202908/3ddae5de-0f3a-11e7-8ac3-a971208e4472.png)
@deshraj  make HTML was successful but please check this error in make  latexpdf.

@AnshulBasia we dont need the `make latexpdf`. We just need to build the html files. 

@deshraj Please let me know if there's any issue..?

@deshraj I think we should close this.

@deshraj Since we have docs setup from PR #1090. So, I am closing this one.
Repository: Cloud-CV/EvalAI
Issue: Create a template view to show after successful email verification during Signup
Root cause: Unimplemented Feature Gap

### Description

When a user registers on EvalAI, he receives an email that contains a unique link to confirm his email id. Whenever he clicks on the link, he should be shown a static page similar to this http://api.evalai.cloudcv.org/api/auth/registration/account-confirm-email/MTc:1cpmQ6:0_PqK9K-JJuKYxC3aSY2Bjt3OLU/

### Todo 

1. Override the URL Patterns for the URL  `/api/auth/registration/account-confirm-email/<token>/` to convert it to django TemplateView
2. Create a template at the backend that is served to the user whenever he clicks on the unique link. 

Can I work on this?

@mayank-agarwal-96 sure. 

@deshraj Right now ConfirmEmailView ( which is an APIView ) is called on this url. So do I need to change this with a TemplateView?

Yeah, please do that and delete the APIView in the views file. 

@deshraj Ok, thank you :)

@deshraj I am stuck on finding a good way to reuse css and images in the frontend directory for the email confirmation template. Will adding it to static help?


@mayank-agarwal-96 Since both the frontend and backend are independent of each other, so it would be a good idea to not reuse the static files. Can you please create different static files for the backend? 

@deshraj Ok sure, it would also be easier to create new static files.
Repository: Cloud-CV/EvalAI
Issue: Update Privacy and Terms Page
GitHub labels: enhancement

easy_to_fix

frontend

Currently the Privacy and Terms page contains fake data. We would want to update it with the information at this link: https://github.com/Cloud-CV/EvalAI/wiki/Privacy-and-Terms


@deshraj can I take this one?


Yeah sure. 

@deshraj I have done this. Kindly check the pull request.

@AliRaza3997 Thanks for submitting the Pull request. I would suggest that please donot work on any issue on which someone else is working on. I am accepting this since you are new. Please keep this in mind in future. :) 

@Ram81 Please don't start working on this feature. Sorry for the inconvenience. 

Sorry for the inconvenience. Didn't see any assignment when I started working on it. I would keep this in mind the next time and ask first. Thanks.
Repository: Cloud-CV/EvalAI
Issue: Disable change of 'username' on client side on Update Profile View
GitHub labels: enhancement

GSOC-2019

easy_to_fix

frontend

critical

A user should not be able to change his username once he has created his account. 

### TODO

Disable the username field in the `Update Profile` view to make sure a user cannot modify his username. 

Can I work on this?

Sure. 


@deshraj If this issue is still open I would like to try it.

@ishapotnis1 I think @mayank-agarwal-96 is already working on this. Feel free to look for other issues. 

@deshraj Shall I make the input field disabled or completely remove the username field? When I am disabling the field, the animation for "Username" also stops working leading to something like this:
![screenshot from 2017-03-26 18-28-14](https://cloud.githubusercontent.com/assets/11095642/24331450/690c7cf2-1252-11e7-8981-f89e9171942f.png)


I think you can convert the username `field` from a form-field to a `<p>` tag or something similar depending on which will look good. 

Instead of disabling the field i made it readonly , so now the issue of the animation not working would not arise , does that sound good enough
?

@mayank-agarwal-96  @Shashi456 : FYI, Add `class="active"` to `label` to see focus effect on `username`.

Fixed in #894. 
Closing this.
Repository: Cloud-CV/EvalAI
Issue: Restrict the update profile API Endpoint from updating username 
GitHub labels: GSOC-2019

medium-difficulty

backend

critical

Currently, django-rest-auth provides the functionality to update the username with the update profile API Endpoint. We want to restrict this since we don't want a user to update his username once he has created his account. 

For more details about the API endpoint, look at http://django-rest-auth.readthedocs.io/en/latest/api_endpoints.html#basic

Related to #863 

@deshraj can I take it up?

@yadavankit Sure. :) 

@deshraj @yadavankit Is anyone still working on this or can I take this one?

@mayank-agarwal-96 Yeah, you can work on it. :) 

@deshraj ohh, I just forgot this issue... my bad 😅  @mayank-agarwal-96 yeah go on bro...you can take this up :)

Hi, I'm a bit new to restful services using django, and I guess that with a bit of learning I could solve this issue, where would be the best place to start using rest for evalai?

Hey @isht3 [Django REST Framework Documentation](http://www.django-rest-framework.org/) would be a good place to start learning about how REST is implemented in EvalAI. 

@taranjeet @yadavankit I'm currently in the process of learning django REST, I'd like to inform that I'll be back for bigger contributions to CloudCV after I'm done with a personal project of mine.

@isht3 Sounds good. Thanks for informing. :) 

@deshraj Can I start working on this? :)

yes sure. Assigning this to you.

Hi, @deshraj @RishabhJain2018 To update the username after creation of account we should do a PUT request to `/api/auth/user/`, right? I'd like to test this for a bit, would it be best to do it through cURL or drf-docs?

@isht3 Please refer here for the command https://pvcarrera.github.io/general/2015/03/18/curl.html. Moreover , you can use` Postman `client for the same. Let me know if you still have doubts.

@RishabhJain2018 I'll look into it! :smile: 

@RishabhJain2018 Hi, I have analysed the issue. Since only the `PUT` or `PATCH` request to the `/auth/user/` which contains `username` should be restricted, it would require writing a view to check the parameters passed during a `PUT` or `PATCH` request, if it doesn't edit the username then passes then pass it onto `rest_auth`, right?
Repository: Cloud-CV/EvalAI
Issue: Add Installation Guide for different Platforms
Root cause: Documentation Deficiency

We would like to add different markdown files for setting up IDE on different Platforms such as

- [x] Ubuntu
- [x] Fedora
- [ ] OS X
- [ ] Windows

Concerned file for this is [setup.md](https://github.com/Cloud-CV/EvalAI/blob/master/docs/setup.md). For ubuntu the instructions are present, but one can actually update them if something is missing.

Also please update the markdown error in the same file(generally headings). Like

###Step 1: Install prerequisites  ---> ### Step 1: Install prerequisites

(A space needs to added after the hash series, ###)



@deshraj @TroJan  On it

Closing this since installation works on all platforms now.
Repository: Cloud-CV/EvalAI
Issue: Use IsChallengeCreator decorator in Challenge Phase detail API Endpoint
Root cause: Validation Gap

Currently, the check for if the requesting user is Creator of Challenge or not is missing from the `challenge_phase_detail` API View. We would like to add the `IsChallengeCreator` decorator (https://github.com/Cloud-CV/EvalAI/blob/master/apps/challenges/permissions.py#L6) to this endpoint. 

Also, please add test cases after making the above changes. 

@AnshulBasia Sure. :) 

@deshraj  can you tell me what exactly do we do after the check?


@Shashi456 I think @AnshulBasia is already working on this. Feel free to pick any other unassigned issue. :) 

@deshraj what about #863 

@AnshulBasia any updates on this? If you're busy, I can take it forward.

@varunagrawal Sorry,I am done but testing is yet to be done. I got stuck with my assignments. Please take it forward. Thanks. 

Sure thing mate @AnshulBasia. Thanks for letting us know. :)

@deshraj please assign this to me.

Sure. 


@deshraj Can you please tell me what we need to do exactly.

@modestlearner: This is quite critical and I would like to fix it myself. Can you please pick some other issue? 

@deshraj Sure

@deshraj Is this solved?

Hi @isht3, @deshraj has been on vacation the past few weeks and should be back today. Expect this to be solved sometime this week. :)

@varunagrawal Hope he had a good time, I'm going on vacation today! lol.

@isht3: no, this issue is not solved yet. Please feel free to take this up. 

@isht3 Deshraj has given you the go ahead. If you don't have the time to work on this, we understand, and we can assign this to @Obtin

@varunagrawal, @Obtin Yes, I already started working on this. I was going through how to work on decorators, that's why this was taking time. I'll finish this by sometime next week. :smile: 

@deshraj The `IsChallengeCreator` Class in `permissions.py` and its use-cases should be completely replaced with the `IsChallengeCreator` decorator, yes?

@isht3 no that class is required in the permissions since other API endpoints depend on it. You should just be able to add that permission class to the `@permission_classes` decorator and have it work. The crucial aspect of this issue are the test cases which need to ensure all corner cases are handled.

I know this seems like very little work technically, but then again, this is an easy issue to get people started with CloudCV contribution. :)

@varunagrawal I think the changes are already added to the `permission_classes`, I'll get started with writing the tests. Thank you for clearing it up!