{"id":24370341,"url":"https://github.com/bitlap/zim","last_synced_at":"2025-04-10T17:42:34.131Z","repository":{"id":37670734,"uuid":"441424643","full_name":"bitlap/zim","owner":"bitlap","description":":technologist: Full ZIO 2 Stack: A sample IM that uses zio, zio-redis, zio-actors, zio-schema, zio-streams, zio-crypto, circe, tapir, akka-http,redis4cats.","archived":false,"fork":false,"pushed_at":"2024-10-16T13:45:34.000Z","size":5589,"stargazers_count":41,"open_issues_count":30,"forks_count":8,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-10-18T14:09:32.667Z","etag":null,"topics":["akka-http","circe","redis","scala","scalikejdbc","tapir","zio"],"latest_commit_sha":null,"homepage":"http://im.dreamylost.cn:8989/","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bitlap.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-24T09:32:39.000Z","updated_at":"2024-10-16T13:45:38.000Z","dependencies_parsed_at":"2024-01-29T00:03:00.045Z","dependency_job_id":"a94be3b9-d86a-432d-bd82-53b357218ef1","html_url":"https://github.com/bitlap/zim","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitlap%2Fzim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitlap%2Fzim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitlap%2Fzim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitlap%2Fzim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bitlap","download_url":"https://codeload.github.com/bitlap/zim/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248262198,"owners_count":21074262,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["akka-http","circe","redis","scala","scalikejdbc","tapir","zio"],"created_at":"2025-01-19T04:24:14.355Z","updated_at":"2025-04-10T17:42:34.106Z","avatar_url":"https://github.com/bitlap.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\u003cimg src=\"logo.png\"\u003e\u003c/div\u003e\n\n# zim\n\n[![Project stage](https://img.shields.io/badge/Project%20Stage-Concept-orange.svg)](https://github.com/bitlap/bitlap/wiki/Project-Stages)\n[![Build](https://github.com/bitlap/zim/actions/workflows/ScalaCI.yml/badge.svg?branch=master)](https://github.com/bitlap/zim/actions/workflows/ScalaCI.yml)\n[![codecov](https://codecov.io/gh/bitlap/zim/branch/master/graph/badge.svg?token=V95ZMWUUCE)](https://codecov.io/gh/bitlap/zim)\n[![Docker Image Version (latest semver)](https://img.shields.io/docker/v/liguobin/zim?label=docker-image)](https://hub.docker.com/r/liguobin/zim/tags)\n\n[在线预览地址](http://im.dreamylost.cn:8989) \n\u003e 账号dreamylost@outlook.com 密码123456（注册有时不可用）\n\n\u003e 服务器到期时间（为爱发电）：2024-11-28 19:55:29\t\n\n\u003e Docker镜像可直接运行，内含redis和mysql，但无法使用注册功能，账号在`./init.sql`，密码都是`123456`\n\n**如果感兴趣可以watch一下，如果对你有帮助可以点个star，欢迎贡献。**\n\n## 模块\n\n- `zim-auth` 登录鉴权，目前由 cookie 实现并对外提供“鉴权缓存”函数，具体实现由`zim-server`完成。\n- `zim-cache-api` 缓存接口定义（tagless final）。\n- `zim-cache-redis4cats` 基于redis4cats实现缓存。 \n- `zim-cache-redis4zio` 基于zio-redis实现缓存。\n- `zim-domain` 所有领域模型定义。\n- `zim-server` Server端的主要实现，包括 zio 依赖管理、基于 akka-http 的 route 实现、基于 tapir 的 API 具体实现。\n- `zim-infra` 配置和基础设施，包括系统基础配置、工具类、部分领域对象及核心CRUD实现。\n- `zim-api` tapir API 描述定义和 service、repository 接口定义（tagless final），repository 具体实现在`zim-infra`，service 具体实现在`zim-server`。\n\n## 项目结构\n\n![](./zim-1.drawio.png)\n\n## API\n\n![](./openapi.jpg)\n\n## 环境\n\n- scala 2.13\n- java 11/17\n- redis 4/5/6\n- mysql 8\n- docker-compose\n\n## 技术栈\n\n- 开发语言：scala2\n- 平台：jvm\n- 前端：layim 3.0\n- 主体框架：zio 2\n- API server：akka-http\n- API 文档化工具：tapir 1\n- 数据库：redis、mysql\n- 缓存：zio-redis、redis4cats\n- 数据操作：scalikejdbc-streams\n- 定时任务：zio-actors\n- 序列化：circe\n- 加密工具 zio-crypto\n- 日志：zio-logging\n- 细化类型：refined\n- WebSocket：akka-http、akka-actor-typed\n- 邮件：simple-java-mail\n- 配置：config\n- 构建工具：sbt\n\n## 详细介绍和博客\n\n[bitlap官网](https://bitlap.org/lab/zim)\n\n[csdn 博客](https://blog.csdn.net/qq_34446485/category_11720549.html?spm=1001.2014.3001.5482)\n\n## 特别感谢\n\n\u003cimg src=\"https://resources.jetbrains.com/storage/products/company/brand/logos/IntelliJ_IDEA.svg\" alt=\"IntelliJ IDEA logo.\"\u003e\n\nThis project is developed using JetBrains IDEA. Thanks to JetBrains for providing me with a free license, which is a strong support for me.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitlap%2Fzim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbitlap%2Fzim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitlap%2Fzim/lists"}