Creating website for hire workers

Creating website for hire workers

Bravo webdev


*************Preamble****************


Out goal is built an website for find and hire contractors (fix something at home, babysitters, moving, helps with car, etc). There are a lot of sites for this, like Yelp or, even LinkedIn. But we will create our own website!!! With lovely new (for me, and, probably, for you) technology stack - Ruby on Rails. We will focused at Ruby on Rails and will use gems for everyone, for front-end we will use just old css,html, some JavaScript (maybe even jQuery, dont afraid). If you are good at JavaScript would be great write front-end with Vue.js or React.js or any other moden frameworks. By the way, we need hosting (server, a powerful computer) to public our app for all internet users. We will use heroku for this because its free, no-credit card required and user-friendly. now we have knowledge syntax of HTML, CSS, JavaScript, Ruby. Dont afraid. You can google concrete commands if you're not banned in google. Some experience with sql (we will use Postgresql beacuse Heroku support it at free plan, if you know mysql, it will be easy to checkout) and linux (I worked only at Ubuntu 16.04, 18.04) will be helpful.


*****Part 1. Architecture or system design***


This chapter has glorious name, but anyway we will write technical requirements for our website.

Our website will be written for 2 types of people. Headhunters,who hunt second type and second type - workers (employee and employer but headhunter and worker sound easy for me). Also will be 3th type - admin user, for control process and configuration without code. For this wee need a special page for him, admin-panel. And as we said, we will use gems for all things we can, if there are gem for automatically create admin panel, we will use it (Hey, shhh - there are such gem - its called 'activeadmin'). Workers and Headhunters (HR), admins will be named as 'resources'. So we have 3 resources at our app.

Go next. Headhunters needs public jobs and get applicants, right? Jobs will be 4th resource. And application will be 5th resource.

Workers needs see jobs list and to applicate at job, they liked.

******The process will be run this way.******

User register at website and check his profile worker or headhunter (admins will have separate registration page). Fill his profile. Then Headhunter will post a job - fill description, add categories or tags (Stop, we dont have any tags resource. Don't worry thanks to iterative programming process, we can add new resource at next iteration), publish job and go to drink a coffee when workers thinking about this job. Beacuse after publishing, job will shown in common jobs list and in personal workers page if job had such tags, that had workers profile (by the way we need to limit tags count at one profile and one job, 15 max tags for example). Finally worker will able apply at job. When he is applied, will be created a new page, that will show appling proccess. Headhunter will see new aplicant and will able reset application or approve it. Status changing will be shown at application page and duplicate at worker and headhunter profiles in short form. If application is approved, worker will see headhunters contact, and headhunter will see workers contact. In application page will create a dialog and contract details form, from job description and workers cover letter. After ends of work, headhunter will able to approve application as work done or type an error. Worker also can approve application as work done or type any error. If there no work done from worker and headhunter, this application will be show at admins page and he can close this application with admins note. If everything is ok, application will closed automatically without notes. Workers profile had new job, headhunters profile had new job also. Admins see total applications count and statuses of them.

Congtads. We finish how our website will works chapter and will go to realise it.

Chapter 2. Cloning scratch project and config environment coming soon


******Our channel with full course*******

https://t.me/bravowebdevchannel


************Our user-friendly chat******

https://t.me/bravowebdev

Report Page