该存储库是一个基于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:通过 Sidekiq 和 Docker 等工具支持 DevOps 结构。
🛠️ 使用Docker
- 确保您的计算机上已安装Docker和Docker Compose。
- Docker
- Docker Compose
-
克隆相关存储库:
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
-
下载
docker-compose.yml
文件: -
在项目根目录下运行以下命令:
docker-compose up --build
-
在后端应用程序中点击“运行待处理的迁移”。
-
进入后端容器并运行种子:
docker exec -it backendContainerName /bin/sh rails db:seed
-
设置环境变量:
JWT_SECRET_KEY=xxxxxxxxxxxxxxxxxxxxx
-
重新启动容器以加载变量。
🛠️ 不使用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-server
bundle exec sidekiq
📝 其他项目
- 📏 Precision应用程序(React) - 用于记录水和气体测量的界面
- 🤖 API节点 - 用于测量和记录消费的API