自己写的一个记录简历投递状态的小应用,可以分享校招信息哦~

为了更好地管理和分享校园招聘的信息,创建了一个简易的应用程序。该应用旨在帮助学生记录已投递的简历及分享企业的招聘信息,方便大家进行资源的共享。

最近,校招慢慢都开始了,公司很多,常常忘了自己投递了哪些公司以及投了什么岗位。开始是在excel中记录。后来和同学建了一个讨论组,专门用来分享哪些公司开始校招了,但是也还有很多问题。索性写个小应用吧。这样,大家可以分享自己的校招信息。资源共享。记录方式也很简单哦。要填的内容不是很多。已经尽量可以让大家少填写信息了。找工作的可以去体验下!

链接:http://112.74.202.74:8080/JobMemo/index.jsp

不想注册的可以用测试号登陆体验:用户名:测试1

密码:test

由于资金有限,服务器配置不高,带宽为1M,反应可能有点慢。

(忽略前端。。。。本人实在没什么艺术细胞。。)

功能模块划分 ①用户模块 用户注册、用户登录、个人信息管理、密码修改、角色权限管理(管理员、企业、求职者) ②企业管理模块 企业注册、企业信息管理、企业认证审核、企业详情展示 企业列表浏览、企业搜索筛选 ③职位管理模块 职位发布、职位信息管理、职位分类管理、职位审核 职位列表展示、职位详情查看、职位搜索筛选、职位收藏 ④简历管理模块 个人简历创建、简历信息编辑、简历预览 教育经历管理、工作经历管理、荣誉奖项管理 简历投递记录简历状态跟踪 ⑤求职投递模块 在线投递简历投递记录管理、投递状态跟踪 收藏职位管理、我的投递历史 ⑥后台管理模块 用户管理(管理员、企业、求职者)、企业审核管理、职位审核管理 简历管理、投递记录管理、收藏记录管理、公告管理 ⑦系统基础模块 轮播图管理(添加/编辑/删除)、分类管理、公告管理 ⑧前台展示模块 首页展示(轮播图、热门职位、优质企业)、职位列表页面 企业列表页面、职位详情页面、企业详情页面、个人中心---------------------用户模块:用户登录;用户增删改查;密码修改;密码重置;用户增删改查; 企业模块:企业信息增删改查;根据用户ID查询企业信息;分页查询企业信息;更新企业认证状态;检查用户是否已有企业信息;获取当前用户的企业信息 职位模块:职位增删改查;职位发布;更新职位状态;分页查询职位列表;获取企业职位列表;获取职位详情 简历模块:简历增删改查;设置默认简历;上传简历附件;简历预览;管理员分页查询所有简历;AI润色简历应用AI润色结果 简历投递模块:投递简历;获取学生投递列表;获取企业收到的投递列表;更新投递状态;获取投递统计信息 面试模块:创建面试邀请;确认面试;完成面试;取消面试;获取面试详情;企业端分页查询面试列表;学生端分页查询面试列表 消息模块:发送消息;批量发送消息;根据角色批量发送消息;分页查询消息;获取消息详情;标记消息为已读;批量标记消息为已读;标记所有消息为已读;删除消息;批量删除消息;获取消息统计 文件模块:文件上传;多文件上传 仪表盘模块:获取统计数据;获取申请趋势;获取职位类别分布-----如果springboot vue系统;帮忙一份独属于我的api文档,确定角色,确定权限,确定功能,整体框架要容易维护修改,借鉴别人的这些功能,摘取你需要的,或者更加贴切的功能,加入1-2格特色功能市面上的开源源码没有的功能,符合中等水平的毕设要求, 分析哪些功能是必要的,作为系统的话,
最新发布
11-16
### 简历对象投递多份简历时的状态机设计及状态变化规则 在多份简历投递的场景中,简历对象的状态机设计需要考虑每个简历实例的独立性以及整体流程的协调性。以下是针对该问题的专业分析和解决方案。 #### 1. 核心状态定义 每份简历投递过程中可能经历以下核心状态: - **Draft**:简历正在创建或编辑阶段[^1]。 - **Submitted**:简历已提交至目标公司或职位。 - **Processing**:简历处于处理阶段,例如通过聘系统进行初步筛选。 - **Reviewed**:简历已被聘方审查。 - **Rejected**:简历被拒绝。 - **Accepted**:简历被接受进入下一步(如面试)。 - **Archived**:简历存档以备将来参考。 这些状态适用于单个简历实例,而在多份简历投递情况下,每个简历实例可以独立地经历上述状态变化。 #### 2. 状态转换规则 每份简历状态转换由特定事件触发,以下是一些常见事件及其对应的转换规则: - **Submit**:从 Draft 转换到 Submitted。 - **Process**:从 Submitted 转换到 Processing。 - **Review**:从 Processing 或 Submitted 转换到 Reviewed。 - **Reject**:从 Reviewed 转换到 Rejected。 - **Accept**:从 Reviewed 转换到 Accepted。 - **Archive**:从任何状态转换到 Archived。 对于多份简历投递情况,需确保每份简历状态转换逻辑相互独立[^2]。同时,可以引入全局状态管理机制来跟踪所有简历的整体进度。 #### 3. 状态机设计示例 以下是基于多份简历投递场景的状态机设计示例: ```python from abc import ABC, abstractmethod from typing import Dict class ResumeState(ABC): @abstractmethod def handle_event(self, event: str) -> str: pass class DraftState(ResumeState): def handle_event(self, event: str) -> str: if event == "submit": return "Submitted" return "Draft" class SubmittedState(ResumeState): def handle_event(self, event: str) -> str: if event == "process": return "Processing" if event == "edit": return "Draft" return "Submitted" class ProcessingState(ResumeState): def handle_event(self, event: str) -> str: if event == "review": return "Reviewed" return "Processing" class ReviewedState(ResumeState): def handle_event(self, event: str) -> str: if event == "reject": return "Rejected" if event == "accept": return "Accepted" return "Reviewed" class Resume: def __init__(self, state: ResumeState): self.state = state def change_state(self, event: str): new_state_name = self.state.handle_event(event) if new_state_name: self.state = globals()[new_state_name + "State"]() print(f"State changed to {new_state_name}") else: print("Invalid event for current state") # 示例使用 resumes: Dict[str, Resume] = {} # 创建两份简历 resumes["resume1"] = Resume(DraftState()) resumes["resume2"] = Resume(DraftState()) # 对每份简历进行独立操作 resumes["resume1"].change_state("submit") # State changed to Submitted resumes["resume1"].change_state("process") # State changed to Processing resumes["resume2"].change_state("submit") # State changed to Submitted ``` 上述代码展示了如何为每份简历创建独立的状态机实例,并确保它们的状态转换逻辑互不干扰。 #### 4. 全局状态管理 在多份简历投递情况下,可以引入一个全局状态管理器来跟踪所有简历的整体进度。例如: ```python class GlobalStateManager: def __init__(self): self.resumes: Dict[str, Resume] = {} def add_resume(self, resume_id: str): self.resumes[resume_id] = Resume(DraftState()) def update_resume_state(self, resume_id: str, event: str): if resume_id in self.resumes: self.resumes[resume_id].change_state(event) # 示例使用 global_manager = GlobalStateManager() global_manager.add_resume("resume1") global_manager.add_resume("resume2") global_manager.update_resume_state("resume1", "submit") # State changed to Submitted global_manager.update_resume_state("resume2", "submit") # State changed to Submitted ``` #### 5. 注意事项 - **状态独立性**:确保每份简历状态转换逻辑独立,避免因一份简历状态变化影响其他简历[^2]。 - **事件驱动设计**:基于实际业务需求定义事件,确保模型贴近现实。 - **扩展性**:设计时考虑未来可能新增的状态或事件,保持系统的灵活性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值