The project is to add few features to this opensource Python project:
[url removed, login to view]
Overview of the project:
I'm a researcher. I have many files that require to be annotated. I want to hire a number of volunteers online to annotate these files. BRAT is a great application to annotate documents. However, it does not have "tasks". I want to be able to divide the work amongst a number of users, and then track their progress. I want the users to see only their tasks & files - but not the other's work.
So the project is to add a small set of functionality to BRAT to allow me to divide the work on a number of users.
The needed features:
1- The ability to create tasks
2- The ability to assign the tasks to different users
3- The users should only see their tasks, and the files they have to annotate, and work on them only.
4- The admin should be able to create tasks, assign them to different users, check status of specific user, see a report of all tasks so far. See a report showing the files, and which ones were annotated according to the tasks.
5- I prefer for the tasks to be stored in a MySQL DB. (the project uses filesystem to store/read data so far)
I'm looking for the simplest way to do this. To "hack in" the least amount of changes so that I can get what I need.
Timeline: 1-2 weeks.
I truly expect the project to take less. I think the whole thing will take several hours. Since the system is ready, and has users defined. We just need to define "Task" class, and build some UI around it, and enforce a bit of restrictions on the users.
Feature #5 (usage of MySQL) is not a must. It is just a preference, but I'll be OK with other solutions as well.
Note: If you like, I'm OK to publish the code back to the opensource project. I think it'll be a useful feature for others.
who can help me please?
I have been working as a software developer for more than one and half year on python scripting and having good knowledge on algorithms and data structures and good problem solving skills. I'm a quick learner