All Projects → 7upcat → agile-wroking-backend

7upcat / agile-wroking-backend

Licence: MIT license
AgileWorking 是一个团队协作的微信小程序,此工程为小程序的后台实现

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to agile-wroking-backend

Jeeplatform
一款企业信息化开发基础平台,拟集成OA(办公自动化)、CMS(内容管理系统)等企业系统的通用业务功能 JeePlatform项目是一款以SpringBoot为核心框架,集ORM框架Mybatis,Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台,代码已经捐赠给开源中国社区
Stars: ✭ 1,285 (+1817.91%)
Mutual labels:  restful, springboot
Perfect Ssm
🍇更完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统(RESTful API+redis)
Stars: ✭ 606 (+804.48%)
Mutual labels:  restful, springboot
Dorado
基于Netty4开发的简单、轻量级、高性能的的Http restful api server
Stars: ✭ 65 (-2.99%)
Mutual labels:  restful, springboot
Spring Boot Shiro
Shiro基于SpringBoot +JWT搭建简单的restful服务
Stars: ✭ 1,563 (+2232.84%)
Mutual labels:  restful, springboot
Skill6 Website Backend
java进阶开发,高级版web项目。基于dubbo实现分布式微服务架构,基于spring boot、spring mvc、mybatis、docker、ELK、redis、vue.js、node.js等技术实现的技术分享交流网站。网站名称:技术流,英文名:skill6。主要功能有:登录注册、单点登录、restful设计、文章及评论、代码及资源下载、主题讨论等。持续更新中...
Stars: ✭ 140 (+108.96%)
Mutual labels:  restful, springboot
Spring-Boot-2
Spring Boot 2.x examples
Stars: ✭ 33 (-50.75%)
Mutual labels:  restful, springboot
Crown
Based on SpringBoot2, Crown builds a rapidly developed web application scaffolding.
Stars: ✭ 161 (+140.3%)
Mutual labels:  restful, springboot
shik
shik项目基于springcloud微服务搭建的分布式项目。搭建了shik-config云公共配置,通过shik-RA服务注册发现各个模块,通过shik-zuul路由转发与统一接口。并整合了包括mybatis,jpa,jedis,quartz,freemarker和layui等多个模块,支持spring-session二级域名共享session,使用了RESTful方式提供api接口
Stars: ✭ 89 (+32.84%)
Mutual labels:  restful, springboot
seckill parent
基于springboot+springcloud的高并发和商品秒杀项目,通过redis,rabbitmq等技术实现秒杀的高并发。
Stars: ✭ 59 (-11.94%)
Mutual labels:  springboot
swipeTab
微信小程序的swipetab
Stars: ✭ 23 (-65.67%)
Mutual labels:  wechat-app
relax
Relax is a set of tools for modeling, documenting and testing RESTFul APIs
Stars: ✭ 12 (-82.09%)
Mutual labels:  restful
tutorial-go-fiber-rest-api
📖 Build a RESTful API on Go: Fiber, PostgreSQL, JWT and Swagger docs in isolated Docker containers.
Stars: ✭ 175 (+161.19%)
Mutual labels:  restful
mixerapi
A CakePHP Plugin for RESTful API Development [READ-ONLY]
Stars: ✭ 26 (-61.19%)
Mutual labels:  restful
CloudSchedule
分布式调度系统,基于zookeeper ,netty,调度内核参考Spring schedule 执行表达式和Spring schedule一样,没有使用Quartz,客户端完全基于注解配置,使用同 Spring schedule一致,最少配置,使用简单
Stars: ✭ 14 (-79.1%)
Mutual labels:  springboot
angular-springboot-demo
旅馆管理系统
Stars: ✭ 91 (+35.82%)
Mutual labels:  springboot
wxapp-boilerplate
微信小程序开发脚手架 (ES6, Redux, Immutable-js, Async/await, Promise, Reselect, Babel, ESLint, Stylelint, Gulp ... )
Stars: ✭ 35 (-47.76%)
Mutual labels:  wechat-app
mars-config
springmvc 、springboot、springcloud 动态配置系统。http 轮询方式 更新 动态配置
Stars: ✭ 17 (-74.63%)
Mutual labels:  springboot
learn-java-demo
java学习demo
Stars: ✭ 17 (-74.63%)
Mutual labels:  springboot
Online-Testing-Platform
在线考试系统 colleges online examination system base on spring-boot and MyBatis
Stars: ✭ 21 (-68.66%)
Mutual labels:  springboot
NeusoftCloudHospital
东软云医院。爱与健康,连接你我。🏥
Stars: ✭ 37 (-44.78%)
Mutual labels:  springboot

agile-wroking-backend

此项目是 real world 小程序 AgileWorking 应用的后端,AgileWorking 是一个用于部门内部会议室及团队管理的小程序,小程序的前端实现 可以访问此项目 agile-working

特色

  • 全面使用 Java8 函数式编码风格,代码简洁、高效,易读
  • 采用 领域模型设计 的风格组织代码,应对复杂逻辑
  • 使用 SpringBoot 构建,Convension Over Configuration,零配置
  • 提供 Restful 风格的 API 易于前端访问
  • 支持小程序的会话管理及接口调用的安全控制
  • 支持会议提醒及邀请其他人加入会议

演示

构建

前置条件

构建步骤

单元测试

  • 进行单元测试前在 src/main/resources/application.properties 中设置 profile spring.profiles.active=dev,将会自动连接测试的数据库,并在每个 案例执行前重新建表
  • 进行单元测试 mvn test

接口清单

接口设计遵循 Restful 风格的 API公开 标签下的服务可以直接访问,私有 标签的服务必须在 http header 中指定 Authorization(Token) 及 Subject(微信 openId):

  • 【公开】通过 jsCode 获取用户的 openId /agileworking/wechat/openid/{jsCode},成功查询 payload 中返回的即是 openId

  • 【公开】查询团队列表,返回所有的团队 /agileworking/teams

  • 【公开】查询指定 openId 的用户是否有加入指定的团队 GET /agileworking/team/{teamId}/user/{openId},如果加入则返回 User 信息及 token

  • 【公开】加入指定的团队 POST /agileworking/team/{id}/join ,加入成功会返回 Usertoken

    • name/姓名
    • mobileNo/手机号
    • openId/微信 openId
    • nickName/微信昵称
    • avatarUrl/微信头像 url
    • token/团队的加入口令
  • 【公开】根据 id 查询指定的排期 GET /agileworking/schedules/{id},含排期的参与人,此接口用于邀请其他用户打开小程序时使用,暂时放开为公共,后续待前端优化后修改回私有

  • 【私有】查询指定团队下的所有会议室列表 GET /agileworking/meetingRooms/{teamId}

  • 【私有】创建/修改排期 POST /agileworking/meetingRooms/{id}/schedule?formId=?

    • id/排期id(可选,创建排期为空)
    • title/标题
    • date/日期 yyyy-MM-dd 格式
    • startTime/开始时间(hh:min)
    • endTime/结束时间(hh:min)
    • creatorOpenId/创建人微信 openId
    • creatorNickName/创建人微信昵称
    • creatorAvatarUrl/创建人微信头像URL
    • repeatMode/会议重复模式(N-不重复/W-每周)
  • 【私有】取消排期 DELETE /agileworking/meetingRooms/schedule/{id}

  • 【私有】查询指定会议室指定日期的排期 GET /agileworking/meetingRooms/{id}/schedule?date=yyyyMMdd

  • 【私有】接受会议邀请 POST /agileworking/schedules/{id}/join

    • openId/接受邀请人微信 openId
    • nickName/接受邀请人微信昵称
    • avatarUrl/接受邀请人微信头像URL
    • formId/表单 id ,用于后续的微信消息通知
  • 【私有】查询加入的会议 GET /agileworking/participant/{openId}?date=yyyyMMdd

    • scheduleId/排期id
    • meetingRoomId/会议室 id
    • date/排期的日期
    • title/会议主题
    • openId/参会人的微信 openId
    • roomNo/会议室
    • startTime/开始时间
    • endTime/结束时间
    • repeatMode/会议重复模式(N-不重复/W-每周)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].