ZY树洞

前言

ZY树洞是一个基于.NET Core开发的简单的评论系统,主要用于大家分享自己心中的感悟、经验、心得、想法等。

好了,不卖关子了,这个项目其实是上班无聊的时候写的,为什么要写这个项目呢?因为我单纯的想吐槽一下工作中的不满而已。

项目介绍

项目很简单,主要功能就是提供一个简单的评论系统,用户可以发布自己的评论,然后评论以弹幕的形式展示在页面上。

项目后端地址:

项目前端页面地址:

目前项目测试访问地址:

项目特点

  • 基于.NET Core开发,跨平台
  • 简单易用,界面简洁
  • 匿名评论,不用注册即可发表评论
  • 弹幕效果,评论以弹幕的形式展示在页面上

主要技术

  • ASP.NET Core Web API
  • Entity Framework Core
  • Sql Server数据库 | Sqlite3数据库
  • Vue.js

项目结构

  • ZYTreeHole 主项目
  • ZYTreeHole.Tests 集成测试
  • ZYTreeHole_Services 服务层
  • ZYTreeHole_Models 模型层

项目截图

后端部署

创建数据库,默认用的是sqlite3数据库,如需更改要自行替换连接字符串。连接字符串分为2部分,appsetting.json中的用于项目访问数据库,而Models中的MyDbContextDesignFac类用于CodeFirst模式生成数据库。

如果不更换数据库则不需要更改

直接使用终端,进入ZYTreeHole_Models目录输入:

dotnet ef migrations add Init //生成迁移文件
dotnet ef database update //更新数据库

使用dotnet语句需安装.NET SDK

完成数据库生成后,会在Models层生成一个app.db文件,将该文件剪切到ZYTreeHole 主项目里面去就行了。完成上述步骤即可开始部署,将项目打包成文件夹形式,这里就不多讲了。

我是采用的Docker部署,DockerFile文件项目已经包含进去了。

在打包后端路径中打开终端执行,默认部署为44323端口。

docker build -t treehole . --下载镜像
docker run -d -p 44323:44323 -v /...替换成你的打包路径/treehole:/src --name treehole treehole --创建容器

Docker镜像无法下载问题解决

相关链接:国内镜像源下架的解决办法-米续硬 (mixuying.com)

待完成的点

  • 评论限流

  • 关键词过滤

  • 将前端弹幕设置滚动频率、速度等写入配置文件或者数据库。

  • 完成后台管理模块的编写。

  • 前端页面美化

欢迎各位提提意见

参考链接

.NET Core搭配Vue开源弹幕效果,实现一个评论小项目。好玩!的更多相关文章

  1. Vue.js基础篇实战--一个ToDoList小应用

    距离开始学Vue已经过去一个多月了,总想把学到的东西柔和在一起,做点东西出来,于是有了这个Todolist小应用. 使用vuex 纯粹基础,没有用到web pack,vuex,npm,下次把它改造一下 ...

  2. 基于vue 、vue-router 、firebase的todolist小项目

    第一次写博客,都不知道改怎么写的好. 本着一颗学习的心,也希望一段时间后再回来在看看自己写的代码,会不会让自己有种不忍直视的念头 *-* 还是先上图吧~ 这是首页,主要是展示所有的列表页面,可以通过输 ...

  3. 一个 Vue & Node 的全栈小项目

    约学 - 可以寻找一起自习的小伙伴的Web APP 一个基于 Vue & Node 的移动端全栈小项目 在线演示(请使用移动端查看效果) 源码地址: https://github.com/G- ...

  4. 使用.NET Core和Vue搭建WebSocket聊天室

    博客地址是:https://qinyuanpei.github.io.  WebSocket是HTML5标准中的一部分,从Socket这个字眼我们就可以知道,这是一种网络通信协议.WebSocket是 ...

  5. .NET Core/.NET5/.NET6 开源项目汇总4:CMS、Blog项目

    系列目录     [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...

  6. .NET Core/.NET5/.NET6 开源项目汇总5:权限管理系统项目

    系列目录     [已更新最新开发文章,点击查看详细] 企业管理系统一般包含后台管理UI.组织机构管理.权限管理.日志.数据访问.表单.工作流等常用必备功能.下面收集的几款优秀开源的管理系统,值得大家 ...

  7. android 弹幕效果demo

    记得之前有位朋友在我的公众号里问过我,像直播的那种弹幕功能该如何实现?如今直播行业确实是非常火爆啊,大大小小的公司都要涉足一下直播的领域,用斗鱼的话来讲,现在就是千播之战.而弹幕则无疑是直播功能当中最 ...

  8. Vue开源项目库汇总

    最近做了一个Vue开源项目库汇总,里面集合了OpenDigg 上的优质的Vue开源项目库,方便移动开发人员便捷的找到自己需要的项目工具等,感兴趣的可以到GitHub上给个star. UI组件 elem ...

  9. Android弹幕功能实现,模仿斗鱼直播的弹幕效果

    转载出处:http://blog.csdn.net/sinyu890807/article/details/51933728 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即 ...

  10. 2018年度 35 个最好用 Vue 开源库

    在本文中,我们将推荐一些非常好用的 Vue 相关的开源项目.无论是开发新手还是经验丰富的老手,我们都喜欢开源软件包.对于开发者来说,如果没有这些开源软件包,很难想象我们的生活会变得多么疲惫不堪,而且靠 ...

随机推荐

  1. 怎么判断一个变量arr的话是否为数组(此题用 typeof 不行)?

    arr instanceof Array arr.constructor == Array Object.protype.toString.call(arr) == '[Object Array]'

  2. oeasy教您玩转vim - 60- # vim选项

    ​ vim选项 从头开始 这次我们从头开始 从进入vim之前开始 我们可以在终端里面给vim怎么样的参数呢? man vim 这个如果不行的话 要先运行unminimize更新manual 也可以在v ...

  3. Python 实现Excel和TXT文本格式之间的相互转换

    Excel是一种具有强大的数据处理和图表制作功能的电子表格文件,而TXT则是一种简单通用.易于编辑的纯文本文件.将Excel转换为TXT可以帮助我们将复杂的数据表格以文本的形式保存,方便其他程序读取和 ...

  4. python统计班级学生

    python统计班级学生 如下场景: 假设我有一个学生类和一个班级类,想要实现的功能为:    执行班级人数增加的操作.获得班级的总人数:    学生类继承自班级类,每实例化一个学生,班级人数都能增加 ...

  5. 使用 `useServerSeoMeta` 优化您的网站 SEO

    title: 使用 useServerSeoMeta 优化您的网站 SEO date: 2024/7/31 updated: 2024/7/31 author: cmdragon excerpt: 摘 ...

  6. .NET 8 通用权限框架 前后端分离,开箱即用

    前言​ 推荐一个基于.NET 8 实现的通用权限开发框架Admin.NET,前端使用Vue3/Element-plus开发. 基于.NET 8(Furion)/SqlSugar实现的通用管理平台.整合 ...

  7. 【Java】Reflection 反射机制 03调用

    调用属性,方法,构造器 属性调用 @Test public void fieldCall() throws NoSuchFieldException, IllegalAccessException, ...

  8. 【DataBase】MySQL 27 函数

    一.概述 函数 Function,存储过程的用途一致,减少程序逻辑,和数据库服务的连接次数,提高效率 简化操作,提高SQL重用性 函数 和 存储过程的区别? 存储过程允许多个返回的数据,函数只允许一个 ...

  9. 【Vue】Re22 Axios

    Axios[AJAX I\O System] 创建案例项目并且安装Axios npm install axios --save 接口测试网址: http://httpbin.org/ 案例提供的数据地 ...

  10. 算法·理论:Manacher 笔记

    \(\text{Manacher}\) 来啦! \(\text{Manacher}\) 并没有什么前置知识,比 \(\text{KMP}\) 简单多了. 前置处理 \(\text{Manacher}\ ...