Web Service架构
2016-01-13 18:55:59 1 举报
Web Service架构是一种分布式计算技术,它允许不同平台、语言和系统的应用程序之间进行通信和数据交换。这种架构基于开放标准(如HTTP、XML和SOAP),通过发布一组接口来描述服务,客户端可以通过这些接口访问服务提供的功能。Web Service架构的主要优点是高度模块化、可扩展性和互操作性,使得开发人员能够更容易地构建和维护复杂的应用程序。此外,Web Service架构还支持跨防火墙通信,使得分布式系统能够更容易地进行集成。总之,Web Service架构为现代软件开发提供了一种灵活、高效和可靠的解决方案。
作者其他创作
大纲/内容
User
+ auth_token:string+ email:string+ last_login_at: datetime+ last seen: datetime+ mobile_auth_token:string+ password_digest:string+ reset_password_token: string+ reset_password_token_sent_at: datetime+ time_zone :string
1:m
1:1
Company Modules
Calendar
+ company_staff_id: integer+ created_at: datetime+ updated_at: datetime+ min_hours_schedule: integer+ max_hours_schedule: integer+ avoid_own_events: boolean
m:1
CompanyStaff
+ avatar: string+ bell_notifications_count: integer+ company_id: integer+ is_support_staff: boolean+ name: string+ phone: string+ pop_up_notifications: boolean+ region_number: string+ status: string+ unread_messages_badge_count: integer+ unread_notifications_count: integer+ user_id: integer
PositionDynamicField
+ position_id:integer+ name:string+ field_type:string default=text
Authentication Modules
StageTriggerAction
+ action: string+ action_type: string+ description: string+ name: string+ position_stage_id: integer+ status: boolean+ unit: string + value: integer
Company
+ email_sender: string+ introduction:string+ logo:string+ logo_height: integer+ logo_width: integer+ name:string+ nickname:string+ number: string
GoogleCalendarTimeSlot
+ staff_google_calendar_id: integer+ event_id: string+ start_time: datetime+ end_time: datetime+ summary: string+ description: string+ location: string+ status: string+ creator: jsonb+ organizer: jsonb
ApplicationOffer
+ digest_key: string+ docx_template: string+ filled_tags: jsonb+ merge_tags: jsonb+ position_application_id: integer+ position_stage_id: integer+ salary_number: float+ salary_unit: string+ sent_at: datetime+ signature_request_id: string+ signed_offer: string+ signing_id: integer+ start_date_type: string+ start_date_value: datetime+ status: string+ template_type: string+ text_template: text+ unsigned_offer: string
StageAutoAction
+ position_stage_id:integer+ name:string+ description:string+ action_hook:string+ action_type:string+ status:boolean+ template:text+ auto_type:string
CompanyFunctionModule
+ company_id:integer+ function_module_id:integer
Location
+ city: string+ company_id: integer+ country: string + description: string+ latitude: float + longitude: float+ name: string+ postal_code: string+ state: string+ street_address: string+ time_zone :string+ utc_offset: integer
SchedulingStageTimeSlot
+ time_slot_id:integer+ scheduling_stage_id:integer
Roles Modules
ApplicationHistory model records the changes that are made on an applicant
FormAnswer
+ form_submission_id: integer+ form_question_id: integer+ answer: jsonb+ attachment: string+ form_question: jsonb
AdminUser
+ user_id:integer
SigningSigner
+ signing_id: integer+ role: string+ name: string+ email: string+ sequence: integer+ status: string
StaffInvitation
+ email:string+ token:string+ role:string+ invitor_id:integer+ status:string
+ name:string+ introduction:string
+ openFunctionModules:Array+ canUseFunctionModule?(FunctionModule):Boolean
ApplicationOffer is the model for storing the final offer information that will be sent to HelloSign.
User is only for authentication.
Tips for quickly generating class attributes: puts ApplicationHistory.columns.map{|c| \"+ #{c.name}: #{c.type}\"}
StaffGoogleCalendar
+ calendar_id: integer+ google_access_token: string+ google_refresh_token: string+ staff_gmail: string+ workstream_calendar_id: string+ is_auto_export: boolean+ synced_calendars: jsonb
PositionStage model defines stages of a position. It is the core of the versatile functions of Workstream pipeline. 1. Different stages are specified by \"stage_type\
TimeSlot
+ calendar_id: integer+ start_time: datetime+ end_time: datetime+ time_zone: string+ max_num_applicants: integer+ recurring_time_slot_id: integer+ is_confirmation_needed: boolean+ is_exclusive: boolean+ is_cancelled: boolean+ is_rescheduled: boolean+ created_at: datetime+ updated_at: datetime+ all_scheduling_stages: boolean+ day_of_week: integer+ digest_key: string
FormSubmission
+ position_application_id: integer+ form_id: integer+ digest_key: string+ status: string+ submitted_at: datetime
ApplicationHistory
+ position_application_id: integer+ company_staff_id: integer+ history_type: string+ description: string+ historiable_id: integer+ historiable_type: string
Application Modules
Offer
+ signing_id: integer+ position_stage_id: integer+ type: string+ title: string+ text_template: text+ salary_number: float+ salary_unit: string+ start_date_type: string+ start_date_value: string+ is_auto_send: boolean+ template_type: text+ offer_template_id: integer+ sequence: integer+ template_id: string+ form_fields: jsonb+ signing_signer_ids: jsonb+ signing_merge_tag_ids: jsonb+ status: string+ used_merge_tags: jsonb
PositionDynamicField defines the dynamic/additional fields for a position. field_type: string | text | file
Applicant table is for applicants' profile.
FormQuestion
+ form_id: integer+ title: string+ question_type: string+ is_required: boolean+ options: jsonb+ iframe_url: string
ApplicationOnlineQuiz
+ position_application_id: integer+ online_quiz_id: integer+ digest_key: string+ status: string+ result: string+ answers: jsonb+ current_quiz: jsonb+ submitted_at: datetime
RatingItem
+ description: text+ is_required: boolean+ name: string+ rating_plan_id: integer+ rating_type: integer
Head of HR can send StaffInvitation to invite his colleagues into the company.Data structure:1. status: pending | accepted
ApplicationAttachment
+ position_application_id:integer+ name:string+ attachment_path:string
ApplicationSchedulingStage
+ scheduling_stage_id: integer+ position_application_id: integer+ status: string+ digest_key: string+ created_at: datetime+ updated_at: datetime+ time_slot_id: integer+ time_zone: string+ scheduling_stage_snapshot: jsonb
Applicant
PositionApplication
+ applicant_id: integer+ position_id: integer+ position_stage_id: integer+ referer_source: string+ created_at: datetime+ updated_at: datetime+ email: string+ phone: string+ avatar: string+ name: string+ region_number: string+ status: string+ phone_verified_at: datetime+ digest_key: string+ sms_phone_number: string+ global_phone_number: string+ company_id: integer+ first_name: string+ last_name: string+ stage_into_date: datetime+ language: string
FunctionModule
+ function_name:string
QuizQuestion
+ online_quiz_id: integer+ question: string+ options: jsonb+ question_type: string+ iframe_url: string
FunctionModule will define the modules that would be charged piece by piece.
TriggerActionLog
active_job_id: stringcompany_staff_id: integer + position_application_id: integer+ position_stage_id: integer+ send_at: string+ sent_at: string+ stage_trigger_action_id: integer+ status: string+ trigger_action_type: string
ApplicationRating
+ company_staff_id: integer+ position_application_id: integer+ position_stage_id: integer+ rating_plan_id: integer+ rating_total: integer+ rating_type: integer
ApplicationAttachment is a file manager model for file attachments uploaded by applicants.
SmartScreening
+ position_id:integer+ question:string+ condition_type:string+ condition:string+ action:string
StageAutoAction will trigger when a PositionApplication is in a specific stage under some conditions.action_hook: in | outin: when an applicant comes into this PositionStageout: when an applicant goes out this PositionStageaction_type: sms | emailstatus: true | false
CompanySetting
+ company_id integer+ default_email_subject: string+ locale: string
Dynamic CandidateInfo for generating application form.
SchedulingStage
+ position_stage_id: integer+ details: string
RatingPlan
+ company_id: integer+ description: text+ is_default: boolean+ is_enabled: boolean+ name: string+ rating_type: integer
Signing
+ position_stage_id: integer+ title: string+ salary_number: float+ salary_unit: string+ start_date_type: string+ start_data_value: string
Position model defines the basic information of a position.
Form
+ position_stage_id:integer+ auto_move:boolean
CandidateInfo
+ field_name:string+ field_type:string+ sequence:integer+ position_id:integer
Company model defines the basic information of a company.
OnlineQuiz
+ position_stage_id:integer+ correct_count_for_pass: integer+ passed_action:jsonb+ failed_action:jsonb+ is_rule_active:boolean+ num_alloewd_attempts:integer+ is_randomize_answers:boolean
RecurringTimeSlot
+ calendar_id: integer+ start_time: datetime+ end_time: datetime+ time_zone: string+ recurring_start_date: datetime+ recurring_end_date: datetime+ day_of_week: integer+ is_confirmation_needed: boolean+ max_num_applicants: integer+ is_exclusive: boolean+ recurring_type: string+ scheduling_stage_ids: Array+ created_at: datetime+ updated_at: datetime+ all_scheduling_stages: boolean
Department
+ company_id: integer+ description: string+ name: string
CompanyAdmin
+ company_staff_id: integer+ edit_permission: boolean+ edit_location: boolean+ edit_department: boolean+ edit_position: boolean+ edit_integration: boolean+ edit_company: boolean
PositionStage
+ position_id:integer+ name:string+ description:string+ sequence:integer+ stage_type:string
SigningMergeTag
+ signing_id: integer+ key: string+ value: string+ display_name: string+ tag_type: string
Position
+ title: string+ company_id: integer+ creator_id: integer+ team: string+ overview: text+ status: string+ digest_key: string+ dynamic_fields: jsonb+ candidate_infos: jsonb+ smart_screenings: jsonb+ uuid: uuid+ city: string+ state: string+ country: string+ zip_code: string+ deleted: boolean+ language: string
Position Modules
0 条评论
下一页