2: Components of Migwork
2.1: E-Commerce system
2.2: User Management system
2.4: Email Service
2.5: Newsletter Service
3: User Dashboard
The same as Admi
4: Development Areas
4.1: User Management System
4.2: Email system
4.3: Newsletter system
4.4: Customer Relationship Management (CRM)
6.2: User Management
6.3: Customer Relationship Management (CRM)
6.4: Email System
6.5: Newsletter System
6.8: Book Keeping System
7.1: Registration Form
7.2: Website Design
8: Technology Stack
8.1: Stack 1.
8.2: Stack 2.
A service organization offers any legitim services to help international IT professionals before and during their migration process to Germany. Also services for those who already migrated and living in Germany temporary or permanently. These services are stated with short clear description and cost.
Ideal Client should submit a short description (unlimited length) of what needs to be done. Also Cand/Client can browse and pick up services from the list “Examples of our services”. Also services can be requested by phone/skype call.
There are 4 groups of people who work with this system: Clients, Managers, Workers and the Admin. Extra level is the Superadmin.
The service will be accomplished by Worker(s) and delivered by Manager. Workers are managed by Managers. Above the Workers and Managers is Administrator who controls the workflow and is responsible for the payments. The payments will proceed every last Saturday of the month. As exception also weekly (Saturdays only).
Overall there is a Superadmin who is not immediately involved into Workflow but controls and regulates the entire system.
1.1: Anyone can visit the Migwork website and browse all the services and other information of the same. Once the user freely registers into the system, he becomes the Candidate also called Cand. The Cand can register, log in, log out and delete the account anytime. But until the payment made, the working process should not start.
1.2: Once a Cand purchased the service(s) by making the payment or just add some funds to his balance, he becomes the Client of Migwork. There are 2 payment methods: Paypal, with Bitcoins.
A single service called Project. Client can abort the Project anytime. In this case he can either keep the money on his balance for the future purchasing of Migwork services or withdraw the rest of the balance. Bitcoin-payment will be paid back with Bitcoins. Workers and Managers and other freelancers paid via Paypal only.
After the payment an electronic invoice (PDF) will be sent to the Client.
1.3: The Project is automatically alerted to the Manager. Manager checks the in-build TO DO Template System. Are there no template for the particular Project? In this case the Manager breaks down the project into Tasks called Steps.
Manager determines the duration of each step. The duration of different steps can vary. All the Steps called the TO DO list. As soon as a new TO DO list is completed, the Manager saves it instantly in the TO DO Template System.
After that the Manager submits the TO DO list into the Workers Pool.
1.4: Each Worker is specialised in a subject such as Resume Writing, Job Search, Accommodation Search etc. Once Manager submits the TO DO list into the Workers Pool, each service specific Worker will be alerted about the Project and Steps.
Workers can claim every single Task or several of them from the pool. Once Task is taken it change his status to “In progress”.
1.5: Manager confirms one or several Workers for one Project and set the worker’s timers. In other words one Worker can accomplish all the Steps or just some of them. Duration (a specific time limit) is assigned to each Step.
After the planned time, say after 60 minutes are over, the worker will be alerted: “Hi NAME, your working time is over. Don’t worry, you have another 60 minutes* time to complete the task or work it out with your manager”.
If the Task still aren’t completed after the alert, the Task will be aborted and got back to the Workers Pool. He will change its status to the initial status “Needs to be done”. In this case another Worker can claim this Task and be confirmed by Manager.
In the Workers Pool the same worker also can apply for the same Step(s) which he did not completed before.
*- Note 1: the manager decides how much additional time the worker would get to complete the task before it get back to the Worker’s pool.
1.6: Once the Step has been completed, the Manager verifies and validates the Step. If the Step(s) isn’t completed or done wrong or haven’t been started, the Manager clears up with the Worker about different options (go on accomplishing or abort and get back to the Worker’s Pool.
Once the Step is verified and validated, the Worker will get paid and the Step status is assigned as “Completed”. The Payment proceeds by adding positive balance to the Workers account.
1.7: This process will be continued with different Steps of a Project. Once all the Steps are completed, the Project status will be changed as “Completed”.
1.8: Once a Project is completed, it will alert to the Administrator, also called the Admin. Admin asks the Client in written form if he is satisfied with the results and with the communication with manager.
If the written Client’s answer is positive, the changes the status of the Project as “Finished”. The Client will get the Thank-you-message with the invitation to rate the work with 1-5 stars and/or write an (anonymous) feedback. The Manager and Worker will be alerted that the Project is finished and they have got added funds to their balance.
This is how a Client can get service of his Project from the Migwork.
Migwork sells services, so called Projects to people who intend or prepare or in a progress of migration. Migwork sells services also to people who have already migrated and live in Germany (temporary or permanent).
Migwork is controlled by 3 groups of users. These users are inter-related with each other along with a higher-level user who is a Manager and one more higher-level, called Admin. There is also a highest-level, the Superadmin (SA).*
Clients have their own user panel. Clients can have their own profile and settings. They can get their payment history and can store their card details. They can get updated status of their Project and TO DO list.
CRM keeps organized all my contacts and reminds me of planed time to get in touch with my contacts.
The CRM is not a mandatory component of the Migwork company. This is login area of the Superadmin (SA).
Note: Migwork.com designed to be a large network including my private contacts. In the future I am ready to setup my own web server. And the CRM, Email & Newsletter Service are the basis for this network.
In this CRM I will keep track of:
This information helps me easily find every developer of any certain skills I know in London, and email them about a job offer.
I wish the CRM can easily arrange the lists of my contacts via many criteria: keywords from the private notes, tags, location, time to contact.
E.g. show me all the contacts I planed to email in the 24th week of the year OR contacts I planed to email in July 2019.
The CRM database contains 3+ lists:
List 1 – people who gave me their number and/or visit card.
List 2 – subscribers from my website, wish to get my emails “A few times a month”
List 3 – subscribers from my website, wish to get my emails “Seldom”
I can add persons by myself or a person does it via the form like jaroslavplotnikov.com/data**
All written communication proceeds via email system powered by Migwork.com.
Similar to CRM, my email service is not a mandatory component of the Migwork company. This is also the login area of the Superadmin (SA) only.
The Email Service keeps the history of all my received and sent emails. I wish in 2029 be able to see the entire conversation with let’s say my smallest brother from the beginning, year 1999.
The Email Service keeps history of my communication with everyone. This helps when you hear from someone for the first time in years. It can remind you who they are, and show you the last time you spoke. It also helps you do things like find just the people you haven’t heard from in over a year. You can set calendar reminders, so it can remind you to follow-up with someone later.
Newsletter Service allows easily send personalized emails to people on my list. Operates with 3+ subscriber lists (s. section 2.3). Allows Double Opt-In.
Instead of integration such services as Mailchimp, the website will have its own minimalistic email-service.
Folders: Inbox, Sent, Drafts, Templates, Junk, Waste basket.
Allows select my Contacts and Subscribers* and sent them personalized email. That means, everybody will get the same text but “personalized”.**
Allows arrange the list(s) by following criteria: keywords from the private notes, tags, location, last time to contacted, future time to contact.
E.g. Arrange the list by contacts which I planed to email in the 24th week of the year OR contacts I planed to email in July 2019.
Looking at list with results by preferred criteria I can exclude some contacts manually.
Example 3.4.1: On the list of For example I have 20 persons on that list and 2 of them as far I know, too busy now and don’t wanna be disturbed. I don’t want to bother them and I will have the feature to manually exclude those 2 person from the becoming an email circular.
*- Contact – anyone who gave me his phone number or a visit card, or just a friend or relative. Subscriber – anyone who confirmed his permission to send emails to him.
** – “Personalized” means:
It has such feature that it can personalize my communication. Instead of blasting out a message like “Hey everyone. How are you?”, my database will send out personalized emails like, “Hey James. How are you?” — “Hey Sarah. How are you?”.
***- there are 6 levels of the language skills: A1, A2, B1, B2, C1, C2
There are different pages available on the Migwork website which contain different information.
*- all Terms s. HERE
** – all .com/ are referred to jaroslavplotnikov.com
One of 3 Migwork user group Clients can be stretched with two other different names before becoming ‘Clients’ and these are ‘User’ and ‘Candidate’.
User – any visitor of migwork.com who hasn’t yet registered.
These and more terms explanations HERE
On the top of Cand/Client and Manager is an Admin. On the very top there is a single Superadmin.
Who does what:
This will clear the picture of the working status of each user group and how they influenced different parts of Migwork with them.
All groups below have some similar features:
– Everyone can browse any corner of the website for information.
– Everyone can contact Webmaster via email for any technical issues and contact Manager for any other questions.
– Everyone can anytime and freely: Register,* hibernate its account, delete account, delete account but stay subscribed to the personal Jaroslav’s email list.
– Requests a specific project from the list.
– Sends a message to request a new project or tell smth or ask any question.
– Set his profile, password, payment information etc.
(Candidate becomes Client after adding funds to the client’s login or purchasing services)
– Views and edits his profile: password, payment information, payment history etc.
– Contacts** the personal Manager.
– Contacts Admin to give feedback about Manager’s and about the service quality.
– Can abort a project. If the accomplishing is still in progress, the rest of the funds will be added back to the client’s balance.
– Keep the funds on the balance for the purchasing of services in the future
– Withdraw the funds
Please use Withdrawal only according to Terms: Withdrawal – money transfer from your Migwork account to your bank account Go to Terms:
– Controls the overall system including Users, Projects, Payment process etc.
– Administer each group of Users – Add, Edit, Delete. Can we add this later?
– Assigns roles and permissions of each user.
– Control and View the current status of all the Projects including Step details and related Users activities.
– Send Newsletters to Users.
– Contact any user anytime.
The same as Admin BUT has full access to CRM, Newsletters, Email and Migwork.
– Can add, edit delete any passwords on migwork.com
– Controls the overall system including Users, Projects, Payment process etc.
– Controls the assigning of roles and permissions.
– Controls and views the current status of all the Projects including Step details and related Users activities.
– Send Newsletters to Users.
– Contacts any user anytime.
– has full access to CRM, Newsletters, Email and Migwork.
– Get Project alert from Project Pool.
– Prepare TO DO list of a Project (break down into steps and define a time limit for each step). Assign this TO DO list to the Workers Pool.
– Confirm one or several Workers for the accomplishing all Steps of the TO DO list.
– Verify and validate the Step(s) marked as “Completed” by Worker(s).
– If the Step didn’t accomplished correctly (or not at all) the Manager changes the Status to “Need to be done” and contacts the Worker. If the Worker cannot complete the step or doesn’t respond within the 60 minutes, the Manager assign the particular Step(s) back into the Workers Pool.
– Get “New Project” alert from the Workers Pool.
– Browse the New Project, viewing the project description and single steps with its durations
– Apply for the Step getting alert. What do you mean?
– Apply for the accomplishing of one or several Step(s).
– Complete the Step within the Time limit and update the Step status as “Completed”.
– Will get worker_charge (subtracted from the client’s balance and added to his balance)
* – Subscription will be a paid service one day. I am still deliberating if I will implement this. Anyway this option would be good.
** – every Manager has its own email address, e.g. Sneha Fidelis has email@example.com
Users can be classified into different groups. Each user has his own roles and permissions. User Dashboard will be updated on User’s role.
– Superadmin with full control.
– Other users assigned according to their roles.
All written communication proceeds via email system powered by Migwork.com.
Newsletter needs Templates so that Super Admin can use the same for Internet Marketing, New Product launch, general communication etc.
CRM is a part of User Management system. Along with this Email and Newsletter systems can be integrated to make it significant.
Super Admin should get the option to create the individual page and add these to the Menu to make the site more informative.
– Login form for Superadmin, Admin, Managers, Workers who are with status Active. Can you please explain why we need this status Active.
– Superadmin can add, edit, delete other Users. User can be Active / Inactive.
– User role is assigned as Workers / Managers by Superadmin.
– Managers can get Workers and Clients associated with the Projects. Please explain
– Candidates, Clients and their current status. Please explain
– Projects assigned by Clients and its status. Please explain
– Superadmin, Admin, Managers, Workers can send emails to everybody in the web.
– Email Template – to create / modify / delete Email templates.
– Statistics of existing emails.
– Superadmin, Admin, Managers can send Newsletter.
– Newsletter Template – to create / modify / delete Newsletter templates.
– Statistics of existing Newsletter.
– Add, Edit, Delete Pages and its content. Page can be Active /Inactive.
– Create / Modify website Menu.
– Add / Edit / Delete Pages to the Menu.
Superadmin and admin can access this section only.
– Statement of Total /per month Incomes and Expenses for next 12 months
– Statement of Total Incomes and Expenses for a month.
– Statement of Incomes and Expenses of a Project.
– Statement of Incomes and Expenses from a Client.
– User Profile – add / edit user information and profile image.
– Change Password – edit current password.
– Quit the system.
– Free Registration form for Clients, Workers and Managers.
– Login form for Clients.
– Website template with Logo, header, menu, footer, body and others.
We can go with either of the Technology stacks???????????
– Backend – Laravel – PHP Framework. ??????????????
– Frontend – Bootstrap 4 – Mobile responsive framework. ????????????
– Database – MySQL.
– Backend – PHP Custom Template. ????????
– Frontend – Bootstrap 4 – Mobile responsive framework. ??????????
– Database – MySQL. PostgreSQL ?????????
Administrator, also Admin. Admin is responsible for the flawless workflow of the entire work process and for payments to managers, workers, freelancers and clients (in case of refunds). Admin can communicate with the Client to get the feedback of the Project, Manager and overall services. S. also Super Admin.
Balance – the sum shown to client, manager, admin (client’s / manager’s / admin’s balance)
Candidate, Cand – someone who needs assistance
Charge, a sum which is subtracted from the client’s balance, s. also worker_charge
Client – candidate after he has proceed the advance payment
Contact – anyone who gave me his phone number or a visit card, or just a friend or relative.
CRM – Customer-Relationship-Management
Customer – Please not use the word CUSTOMER because it reserved for the special target group.
Duration – a specific time limit, assigned to each Step and to each Project.
JP – Jaroslav Plotnikov
jp.com also .com/ – jaroslavplotnikov.com
Login area or just login – a virtual room. There are client’s login, manager’s login, worker’s login.
Manager – a coordinator, who communicates with cand/clients, workers, Superadmin and webmaster. Besides Manager is responsible that projects are being done, requests and claims of cand/clients were replied, technical issues were solved and the funds correctly spread. Manager is paid per project (fixed price). Additional activities, not fixed in the contract paid hourly.
Payment – money which client pays in advance and gets the positive balance.
Pool – one of 2 task pools within Migwork. There’re: Workers Pool (invisible for r Users, Cand/Clients) and Project Pull (invisible also for Workers)
Project – something that needs to be done – e.g. find a C++ Developer job in Berlin or help with a resume). Projects consist of steps called tasks.
Status – especially with relation to the Project or its Step(s) there are 4 types: Needs to be done / Completed / Finished. For the special situations there is an extra Status – Stasis (Project hibernated). S. also worker_status
Superadmin, SA – someone who has the full access to migwork.com
Subscriber – anyone who confirmed his permission to receive emails from JP
Task – one of steps which needed to get a Project done. Tasks are listed on TO-DO list
Time limit – s. Duration
User – any visitor of migwork.com who hasn’t registered.
Wannabeworker – someone wishing to join a Migwork team. After the registration he becomes worker
Webmaster – a developer to repair the problems, add, edit, hide and remove technical issues.
Withdrawal – money transfer from your Migwork account to your bank account
Worker – a person paid for their time
worker_charge, a sum subtracted from the client’s balance which is paid on worker according to his agreed working time spent to the particular task(s)
Worker guidelines – an online document which explain the working conditions, hire & fire, and the payment regulations.
A client submits a project – something they need done. They have already made a payment so their account has a positive balance.
A manager breaks it into a TO-DO list: each step called a task. If it’s a common project, the manager will pull up a template and copy each template_task into that project’s tasks.
The manager shows the tasks and estimated cost to the client for approval. The client’s balance needs to be enough to cover the project before we begin.
A worker, a person paid for their time, is alerted when there are unassigned tasks to do. They claim the task if they want, then have to start or finish the task soon, or else the task is unassigned and put back into the pool so that other workers can be alerted.
As the worker marks a task as finished, the total number of time spent on that task is multiplied by the worker’s rate to create a charge, which is subtracted from the client’s balance, and a worker_charge. These are separate because sometimes the client will be charged a flate rate for a task, and not billed by the second, but the worker still needs to get paid for their time.
When Migwork pays the worker, we log a worker_payment, and the corresponding worker_charges are updated with its worker_payment.id, to mark those worker_charges as paid.