Skip to content

Latest commit

 

History

History
184 lines (115 loc) · 5.94 KB

README_ch.md

File metadata and controls

184 lines (115 loc) · 5.94 KB

Java Projects Logo 送货应用程序 Java Projects Logo

🌐 语言

Português Español English Русский 中文 العربية

该存储库是一个基于Rails的送货应用程序的后端,包括管理具有管理员和开发者角色的用户数据的接口。

管理员界面使用示例


🔗 相关存储库

📚 使用的概念和库

🔍 点击展开库和概念的详细信息
  • 后台处理:使用 Sidekiq 处理异步任务。Redis 用作存储这些任务的队列。

  • 分页:使用 Kaminari 库实现资源列表的分页。

  • RSpec和Shoulda Matchers的测试:使用 RSpec 编写单元测试、集成测试和功能测试。

  • 使用SimpleCov进行测试覆盖:集成 SimpleCov 库以分析代码覆盖率。

  • 使用Discard的软删除:使用 Discard 库实现软删除。

  • Bullet用于检测N+1查询:使用 Bullet 库检测和防止性能问题,例如 N+1 查询。

  • 数据匿名化:应用匿名化方法保护敏感数据,以符合如 LGPD 等数据保护法规的要求。

  • RESTful API:开发 RESTful API,遵循软件架构原则,以确保后端与前端之间的高效通信。

  • Swagger:使用 Rswag(基于Swagger)库自动生成API文档。

  • Docker:支持使用 Docker 进行容器化,以简化开发、测试和部署。

  • 图像处理:使用 ImageProcessing 库进行图像处理,如调整大小和压缩。

  • WebSockets和SSE:使用 WebSockets 实现实时通信。

  • 距离计算:使用 Geocoder 库实现客户与商业之间的距离计算。

  • :使用 提高应用程序在并行操作时的并行性和性能。

  • 会话管理和身份验证:使用 Devise 实现用户身份验证,并通过 JWT 进行身份验证。

  • CORS管理:使用 rack-cors 库管理 CORS 权限。

  • 使用状态机的状态自动机:使用 state_machines-activerecord 库在ActiveRecord模型中实现 状态自动机

  • Faraday与外部API的交互:使用 Faraday 库与外部服务集成。

  • 任务自动化和DevOps:通过 SidekiqDocker 等工具支持 DevOps 结构。


⚙️ 项目设置

🛠️ 使用Docker

前提条件

设置

  1. 克隆相关存储库:

    git clone https://github.com/SamuelRocha91/consumy.git
    git clone https://github.com/SamuelRocha91/seller_application.git
    git clone https://github.com/SamuelRocha91/paymenty.git
    git clone https://github.com/SamuelRocha91/delivery_back.git
    
  2. 下载 docker-compose.yml 文件:

  3. 在项目根目录下运行以下命令:

    docker-compose up --build
  4. 在后端应用程序中点击“运行待处理的迁移”。

  5. 进入后端容器并运行种子:

    docker exec -it backendContainerName /bin/sh 
    rails db:seed
  6. 设置环境变量:

    JWT_SECRET_KEY=xxxxxxxxxxxxxxxxxxxxx
  7. 重新启动容器以加载变量。

🛠️ 不使用Docker

前提条件

  • 确保Redis和Sidekiq已在您的本地计算机上设置并运行。

  • 安装R的依赖项:

    install.packages("FactoMineR")
    install.packages("ggplot2")
    install.packages("reshape2")

安装依赖

bundle install

设置数据库

创建数据库并运行迁移:

rails db:create
rails db:migrate

启动本地服务器

rails server

运行测试

bundle exec rspec

启动Redis和Sidekiq

redis-server
bundle exec sidekiq

📝 其他项目