Greentask — free service quickly create tasks and facilitate the work with freelancers

Want to present to your attention a free service that should be useful to anyone who deals with freelancers.
Meet — Greentask
In short — it is a tool to create and manage task extended features. Small spoiler service written in Go.

the

About the service


This service has many uses, but first an analogy.
Surely everyone knows the services of rapid exchange type screenshots Joxi. Another analogy is diverse pastebin's for quickly sharing pieces of code. Greentask can act as a service rapid sharing of tasks, but with far more advanced features, described below.


the

History


Originally wanted to make a very simple service, so it's not delayed for long, as it often happens. In the process, new ideas have emerged, and some reject them failed. In the end, produced a list of mast HEV functions, and firmly resolved to resist the temptation to add something else. Everything else is in backlog.

I have experience of working with remote employees and freelancers, and each time you search and there is the same problem:

the
    the
  • Channel of communication
  • the
  • shipping jobs
  • the
  • Structure set
  • the
  • job Change in the process

Below we will examine each of these problems separately. But a new project was born of an awareness of these problems it is necessary to have other conditions. And they came together. I started developing the prototype and the backend in the summer of the 15th year when there is sufficient available funds and time, and a burning desire to try out this idea on the basis of new technology. By this time, I have long been eyeing the Go programming language, and now when the head was the idea of a new project has no reason not to start development. As you know the best way to learn a new programming language is to write something real and more complex than “Hello world!”. Solved — made. Worked mainly on weekends, full-time, it would be possible to meet in much smaller terms, but such task did not stand. Below I will tell more about their experiences when working with the Go and what benefits he gave to this project.

the

Problem


Let's look at the above problem in more details, as well as approaches that uses Greentask to solve them.

the

Channel of communication


Imagine that you have a problem, but no artist. You post an ad on several freelance and waiting for an answer. Stop. And where do you expect an answer? Usually through several channels. Someone will write via private messages of the exchange, someone to email, someone to skype with someone in icq. But you don't have ICQ already for many years. Well, there is skype, but without it there was a bunch of contacts since the publication of the last mission. The result is a spaghetti of different channels. Familiar?
Greentask offers to reduce all communication to the task itself. All you need to do on freelance exchange — leave a link to the assignment in the text of the task. Link: greentask.in/your_task_hash. For particularly stubborn, you can leave a link to the text: “to Write sentences and questions strictly on the jobs page”. Because the browser that is everyone.

the

shipping jobs


If you use skype or other messengers, then the first thing to ask the candidate: “Tell the task more in detail”, there may be options. You can copy-paste each task, or transfer the word file which you can open locally. Then still there will be questions that will refer to different sections of the task and you will have to jump here and there to find the desired item, and then respond on Skype.
Greentask solves the problem of transfer issued job just opening links in the browser, without downloading anything, and the questions for each paragraph of the task can be set up directly underneath. Every online visitor job stands out a circle top right, thus you can estimate the number of learners your assignment.
the

Structure set


As you know, properly formulated and executed the job is already 50% done. Greentask helps you to build the structure of the task clear to the contractor. For this, the artists themselves will tell you thank you. But if you are a freelancer, it makes sense to recommend greentask your customers, for mutual ease of use. It is important to note the fact that the service does not exclude the possibility to write something like TOR, and is not exclusive to this tool, but it helps to reduce errors. Although it is not enough.

the

custom task in the process


It often happens that after familiarization of the contractor with the job and want to make a change in the TOR. And it would be good to know about it. And even better, to see what exactly has changed. For this General case have to tell us separately about this. And it's not comfortable, but if the performers(candidates) a few, it is even more uncomfortable.
Greentask will be sent to all members of the task notifications about all the changes, the link to the page where you implemented the visual comparisons of versions of the task: version which saw the performer in recent times and the latest version of the task. This will prevent unnecessary questions, like “what changed since that time?”

the

Why is the service free?


Initially I saw this service is free for all, besides it is a kind of pilot project. In the future, the project promises to be a free for all.

the

Chrome extension


Especially for greentask developed Chrome extension for easy access to jobs, as well as operational information on changes in the task. The functionality is very simple and, I hope, is clear.

the

Mobile version



The site is optimized for viewing in mobile devices, and multiple elements of Material create an almost native look and feel =)

the

a Little about Go


About Go already written enough, so tell only what benefits gave language in this project, without spreading philosophical thoughts. Just to say that Go, in my opinion, language for practitioners who want to quickly implement reliable functionality, and for which it does not matter if there are generics or the garbage collector. These people write programs that just work.

the

Static binary


I myself am bekendt and I love to do the front end a little more than nothing. Even though there is sufficient provision, about how best to adjust the backend under the front. So I had to search for the artist. How to raise the backend locally? In the case of Go this 2 commands: run migrations to create tables in sqlite, and in fact run a web server. All. Besides, there is no need to transmit the source as the case of python/ruby/php/... About deployment and say nothing, it's really easy.

the

Distribution of static and the lack of Nginx


In greentask you can upload attachments to the task, the task may be private, i.e. not publicly available. In this case, the attachment should not be available publicly. In the case of conventional distribution scheme of statics through Nginx, you would have to resort to different non-trivial ways to configure Nginx to control access rights to static. In greentask this logic is inside the application.
Nginx or another web server is not used at all. Compression and ssl termination happen in the app.

the

Asynchronous tasks


Not all the tasks are executed instantly, so it is desirable to run asynchronously. In django this would require celery or analog, that is a separate process. Go all running in a single process and code starts using the go statement. Very simple and beautiful. Use for asynchronous mail sending.

the

Websocket


Due to the presence of built-in mechanisms for asynchronous processing, and the finished libraries, the implementation of websockets is not too difficult. In greentask I use them to display online users and the procedures for updating data on the page when changed. Therefore, open the tasks page always displays relevant data without reloading, be it a comment, change the text or download attach by the contractor. As a bonus, you will receive a notification by email of new comments and change jobs if you online, because you will see him.
the

Task schedule


Similarly, the asynchronous task is also implemented in a single process(instead of celery / celerybeat)

the

Generate the API documentation for swagger


This is not an exclusive feature and do not feature Go, just a nice feature in the web framework, Beego which built the project.

If the community shows interest, I would have more details to tell about implementation details of some features of the service with specific code examples.

the

Plans


Plans for further development of the service depend largely on user feedback, so please, if you are interested in the project, leave a comment.
What I would like to implement:

the
    the
  • to Improve the interface(services and chrome apps)
  • the
  • Mobile app
  • the
  • More settings and options, including through a policy of comment on task
  • the
  • the Opportunity to share write access to a job for their colleagues
  • the
  • Ability to download an archive of all attaches immediately

the

PS


I want to note that Greentask can be used not for its intended purpose — to create and discuss the issues. For example you can :

the
    the
  • to make for themselves a TODO sheet, and upon completion of tick boxes ready. Or just as a Notepad.
  • the
  • it is also possible to quickly exchange files, the privacy option will not give access to third parties.
  • the
  • to conduct a survey among a certain circle of persons, you will see all the answers, and commentators. (“Vanya birthday today, I'm like * head please call the amount you can donate to the gift of s/n”)
  • the
  • publish news
  • the
  • to create the FAQ
  • the
  • use as the WIKI engine c releases
  • the
  • to create and share photo albums(public and private)
  • the
  • to download a file from the Internet directly to greentask, and then upload it. This can be useful when the file directly for some reason not downloaded/downloaded slowly.
  • the
  • anything else that you can think of a way to write about it in the comments)
Article based on information from habrahabr.ru

Комментарии

Популярные сообщения из этого блога

mSearch: search + filter for MODX Revolution

Emulator data from GNSS receiver NMEA

The game Let's Twist: the Path into the unknown