HRM项目-01

一.项目功能架构

1.项目背景

找工作的人:
现在社会竞争压力越来愈大,很多应届毕业生毕业后没法直接胜任某类工作,或者是一些已经工作的人慢慢丧失自己学习的能力,最终导致失业无法再次就业。
招聘的单位:
虽然求职者非常多,但是很多人的能力达不到用人企业的要求,他们期望一招聘进来马上就能使用,所以需要对求职候选人进行培养筛选。
培训机构: 很多培训机构虽然有能力培训人才但是,市场能力比较差,找不到合适的学员,让他们通过培能找到工作
正是由于以上三类场景,所以我们开发一个源码人力资源系统(HRM),让找工作的人,能够选择特定机构的课程学习,并参与平台发布的招聘,而且还能参与一些活动。 让招聘单位入驻进来发布岗位进行招聘,甚至委托培训机构培训合适的人才。对于培训机构可以发布课程,吸收学员来完成学习并通过收取学费获取商业价值。
入驻类型项目都可以。

2.功能模块

在这里插入图片描述

3.项目原型

后台: elementui
前台: div+css

二.项目技术架构

前台技术

Node.js
Npm
Vue.js
WebPack
Vue Cli
Element UI

后台架构

微服务架构:按照功能拆分N多个服务,每个服务可以独立技术选型,独立开发,独立部署,独立运维.,单个服务使用基于ssm的springboot,服务间通过spring cloud协调.
在这里插入图片描述

开发步骤-人员组成

项目是基于前后端分离的架构进行开发,前后端分离架构总体上包括前端和服务端,通常是多人协作并行开发,开 发步骤如下:
1、需求分析(产品经理)
梳理用户的需求,分析业务流程
2、项目经理组建团队开发 PM,SE,TM=PM+SE
项目启动会
开发人员培训(SE)
项目原型搭建(SE)
3、开发(开发工程师)
3.1 接口定义
根据需求分析定义接口
3.2 服务端和前端并行开发
依据接口进行服务端接口开发。 postman测试
前端开发用户操作界面,并请求服务端接口完成业务处理。 EasyMock模拟数据
3.3 前后端集成测试
最终前端调用服务端接口完成业务。
4 测试 测试人员
5、上线 运维人员
6、运维-留一两个人
7、开发其他项目
项目人员组成: 半年
产品经理:1
项目经理:1
架构师:1
UI设计1
前端:2 后台4
测试:2 最初测试并发量50W
运维:1

三.后端项目微服务原型搭建-架构师

1. Maven模块化管理

hrm_parent:顶级父类
hrm_support_parent springcloud微服务支持模块
hrm_eureka
hrm_config_server
hrm_zuul

hrm_basic_parent 基础模块
hrm_basic_util 工具

hrm_management_parent 系统管理中心
hrm_management_common 公共代码
hrm_management_client 如果内部有调用
hrm_management_service 系统管理中心服务

hrm_course_parent 课程中心
hrm_course_common 公共代码
hrm_course_client 如果内部有调用
hrm_course_service 课程中心服务

hrm_user_parent 用户中心
hrm_user_common 公共代码
hrm_user_cli## 标题ent 如果内部有调用
hrm_user_service 用户中心服务

模块名 端口
hrm_eureka-server 1010
hrm_config_server 1020
hrm_zuul 1030
management_parent(服务) 2010
… 20…
hrm_主站 6010
… 60…

2. Springcloud

五大神兽:Eureka,Ribbon/Feign,Hystrix,Zuul,Spring config sever

3. 环境搭建

顶级父工程 hrm_parent

<!--springboot仲裁中心-->
 <parent>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-parent</artifactId>
     <version>2.0.5.RELEASE</version>
 </parent>

 <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
     <java.version>1.8</java.version>
     <spring-cloud.version>Finchley.SR1</spring-cloud.version>
 </properties>

<!-- 管理springcloud的版本-->
 <dependencyManagement>
     <dependencies>
         <dependency>
             <groupId>org.springframework.cloud</groupId>
             <artifactId>spring-cloud-dependencies</artifactId>
             <version>${spring-cloud.version}</version>
             <type>pom</type>
             <scope>import</scope>
         </dependency>
     </dependencies>
 </dependencyManagement>

4. Eureka注册中心

在这里插入图片描述
pom.xml

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
       
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
 <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>



 <!--    间接继承parent不需要指定执行的入口类,和repackage-->
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

配置文件
不考虑集群

spring:
  application:
    name: hrm-eureka
server:
  port: 1010
eureka:
  instance:
    hostname: localhost
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #单机配置

** 入口类**

package org.yangjian;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient
public class Eureka1010Application {
    public static void main(String[] args) {
        SpringApplication.run(Eureka1010Application.class,args);
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值