OneCat Development Notes: 0. Project Introduction and Some Rambling Thoughts in the Preface
Preface I happened to remember this project during the Spring Festival holiday This year's Spring Festival holiday I spent more time at home because of the rain, so while messing around on the computer I suddenly thought of the OneCat project After tinkering with it a bit and getting it to run again, I found it's pretty decent just as an aggregated reading tool hhh Then I recalled the development experience of the OneCat project: the first time trying to develop a distributed system, the first time trying NLP with deep learning methods, the first time encountering recommendation systems, the first time trying Docker deployment... As the last project of my university years, I wanted to take it seriously, or
目录4 个章节
Preface
I happened to remember this project during the Spring Festival holiday
This year's Spring Festival holiday I spent more time at home because of the rain, so while messing around on the computer I suddenly thought of the OneCat project
After tinkering with it a bit and getting it to run again, I found it's pretty decent just as an aggregated reading tool hhh
Then I recalled the development experience of the OneCat project: the first time trying to develop a distributed system, the first time trying NLP with deep learning methods, the first time encountering recommendation systems, the first time trying Docker deployment...
As the last project of my university years, I wanted to take it seriously, so that maybe when I look back on these four years I won't feel like I wasted my time~
Although I ran into quite a few difficulties during development, I also learned a lot. After the defense I barely looked after this App and never released it. To see it through from beginning to end, I decided to write a series of blog posts introducing the process of developing the OneCat project from scratch, and to restart development and add more features
What Is OneCat
First, let's address the question of what it is.
OneCat, Chinese name "壹喵", is my undergraduate graduation project. It is an App that combines aggregated reading, a recommendation system, aggregated search, a community, and other features
Origin of the name: it came to me by chance. "壹" means you only need one App; "喵" is because I rather like cats, so I chose a cat as the App's logo. (Naming really is a difficult thing)
App Screenshots
I'll just put up the App pictures. Nobody can see all that stuff in the backend; only the frontend is what users perceive most directly.
| Login | Register | About |
|---|---|---|
![]() | ![]() | ![]() |
| Home | Category Subscriptions | Article Reading |
![]() | ![]() | ![]() |
| User Profile | Trending Across the Web | Article Comments |
![]() | ![]() | ![]() |
Limited by space, I'll just post a nine-grid~
Project Architecture
OneCat is mainly divided into two parts: the backend programs running on the server side, and the application running on the mobile client.
The server side is divided into modules such as data services, trending across the web, the recommendation system, and aggregated search.
Data services include:
- Web information collection (crawlers),
- Data caching (MongoDB database),
- Data cleaning (NLP with a deep-learning BERT model, Chinese text classification),
- Data persistence and Restful APIs for accessing data (DjangoRestFramework), among other modules;
Trending across the web is based on data from the data services, providing a trending list similar to "hot searches" so you can quickly learn about currently popular events;
Recommendation system uses multiple recommendation methods including clustering-based recommendation, machine-learning algorithms (collaborative filtering), and a latent factor model based on association-rule recommendation (deep learning);
Aggregated search includes a metasearch engine and the corresponding data APIs.
_EOF_
OneCat Development Notes: 0. Project Introduction and Some Rambling Thoughts in the Preface
- 本文作者:
- 程序设计实验室
- 版权声明:
- 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
相关文章
项目完成小结:使用Blazor和gRPC开发大模型客户端
其实几年前我就有轻度使用了一下 Blazor 这个技术,一开始使用 Blazor ,我是有点嫌弃的,我还是比较倾向于传统的前后端分离,AspNetCore用来做后端,用 React 做前端,生态很丰富,要做啥组件都容易。这次只是个小 Demo 项目,试用了一下 Blazor ,从一开始的非常别扭,到越来越顺手。感觉 Blazor Server 写小项目还是挺好用的,后面继续完善项目,持续发掘 B
2023-07-14 · 项目开发小结系列 · 约 1 分钟
StarBlog博客开发笔记(5):开始搭建Web项目
系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetCore开发博客项目 StarBlog - (3) 模型设计 基于.NetCore开发博客项目 StarBlog - (4) markdown博客批量导入 基于.NetCore开发博客项目 StarBl
2023-02-08 · StarBlog博客开发笔记 · 约 1 分钟
在Android模拟器里取得root权限
前言 android 开发过程中程序很多时候免不了需要对系统目录下的内容进行操作,虽然android的内核是linux系统,但是在linux中切换到root下的方式是sudo root,但是在的android中并没有提供我们su文件。 So我们要向需要root的系统中添加su文件,同时改变su二进制文件的权限。 操作步骤 步骤一 将需要root的模拟器运行起来 步骤二 在有 supersu.apk
2022-06-17 · Android · 约 1 分钟
解决Windows蓝牙耳机音质差的问题
Windows 把蓝牙耳机麦克风一调用就切 HFP,全损音质,真当用户听不出来?mmsys.cpl 里把录制设备禁掉,世界清净。这破系统还得手动治。
2026-11-12 · Windows · 约 1 分钟
讨论
共 0 条加载评论中…








