|
1 | 1 | # 编程导航 |
2 | 2 |
|
3 | | -> 最专业灵活的导航站点,发现优质编程学习资源!微信公众号『 编程导航 』 |
| 3 | +> 最专业灵活的编程导航站,发现优质编程学习资源!微信公众号『 编程导航 』 |
4 | 4 |
|
5 | | -在线网站:https://www.code-nav.cn |
| 5 | +包含多个子项目,都开源给大家学习,使用这套代码,你也能轻松开发多端适配网站! |
6 | 6 |
|
| 7 | +编程导航主站 - 发现优质编程资源:https://www.code-nav.cn |
7 | 8 |
|
| 9 | +编程导航主页 - 程序员必备主页:https://home.code-nav.cn |
8 | 10 |
|
9 | | -本项目是『 编程导航 』网站的开源版本,使用这套代码,你也能轻松开发多端适配网站! |
10 | | - |
11 | | -**当然目前代码中保留了部分业务隐私,后续会逐渐公开~** |
| 11 | +编程导航文档 - 项目使用指南和详情:https://doc.code-nav.cn |
12 | 12 |
|
13 | 13 | <br/> |
14 | 14 |
|
15 | 15 | ## 项目展示 |
16 | 16 |
|
17 | | - |
| 17 | +[编程导航主站 - 发现优质编程资源](https://www.code-nav.cn) |
| 18 | + |
| 19 | + |
| 20 | + |
| 21 | +[编程导航主页 - 程序员必备主页](https://home.code-nav.cn) |
18 | 22 |
|
19 | | - |
| 23 | + |
20 | 24 |
|
21 | 25 | <br/> |
22 | 26 |
|
23 | 27 | ## 写在前面 |
24 | 28 |
|
25 | 29 | 总是有很多学编程的朋友问我 “有没有学 xx 的资源”、“我需要 xx 资源,能发我一份么”。 |
26 | 30 |
|
27 | | -在重复接收到这样的讯息后,我发现如今编程资源获取的大环境雾气重重,有一些不太好的现象: |
| 31 | +在重复接收类似讯息后,我陷入深思。 |
28 | 32 |
|
29 | | -1. 很多名不副实的编程资源被捧上了天,一叶障目 |
30 | | -2. 好的编程资源被商业利益化,利用信息差,将本来免费的资源进行贩卖 |
| 33 | +如今编程资源获取的大环境雾气重重,有很多不太好的现象: |
| 34 | + |
| 35 | +1. 很多名不副实的编程资源被捧上了天,名人效应、一叶障目 |
| 36 | +2. 好的编程资源被商业利益化,很多人利用信息差,将本来免费的资源进行贩卖 |
31 | 37 | 3. 好的编程资源由于作者不出名,没有被人发现 |
32 | 38 | 4. 网上的编程资源非常零散,真实性、有效性很不确定 |
33 | 39 |
|
34 | | -意识到这些问题后,作为一个开发者,我可以做些什么?继续去网上搜好的资源,然后传到网盘上,分享给大家? |
| 40 | +意识到这些问题后,作为一个开发者,我可以做些什么? 继续去网上搜好的资源,然后传到网盘上,分享给大家? |
| 41 | + |
| 42 | +一个人的力量终归渺小,好的编程资源环境需要大家的共同努力。 |
35 | 43 |
|
36 | | -一个人的力量终归是渺小的,好的编程资源环境需要大家的共同努力。 |
| 44 | +这是『 编程导航 』问世的原因:**提供人人皆可推荐的编程资源导航平台,帮助大家发现优质编程资源。** |
37 | 45 |
|
38 | | -**这是『 编程导航 』问世的原因,提供一个人人皆可推荐的编程资源导航平台,帮助大家发现优质编程资源。** |
| 46 | +本质是 **资源碎片 => 列表化 => 文档化 => 系统化** 的过程。就像准备复习面试题一样,有人给你分享单一的面试题目(碎片)、有人分享题目列表(列表化)、有人分享一本面试小书(文档化),而这些在灵活性上远远不如一个 “可搜索”、“可复用”、“可量化” 、“可定制” 的 **资源系统**。 |
39 | 47 |
|
40 | | -本质是 **资源碎片 => 列表化 => 文档化 => 系统化** 的过程。就像准备复习面试题一样,有人给你分享单一的面试题目(碎片)、有人分享题目列表(列表化)、有人分享一本面试小书(文档化),而这些在灵活性上远远不如一个 “可搜索”、“可复用”、“可量化” 、“可定制” 的**资源系统**。 |
| 48 | +**想象一下,当你想要学习算法时,在系统上轻轻一点,优质算法学习资源尽收眼底,不是很棒么?** |
41 | 49 |
|
42 | | -**想象一下,当你想要学习算法时,在系统上轻轻一点,所有的优质算法学习资源尽收眼底,不是很棒么?** |
| 50 | +作者在腾讯顶着上班的压力,熬了一个月的大夜,终于完成了基础版本,欢迎大家体验、推荐资源、提出意见! |
43 | 51 |
|
44 | | -作者现在就职腾讯,是一名全栈开发工程师,顶着上班的压力,熬了一个月的大夜,终于做出了一个基础版本,欢迎大家体验、推荐资源、提出意见!觉得不错的话,分享给身边的朋友吧~ |
| 52 | +整个项目也开源给大家,可供学习。觉得不错的话,求个 star、分享给身边的朋友吧,这对我非常重要 😭 有你们的支持才有前进的动力! |
45 | 53 |
|
46 | 54 | <br/> |
47 | 55 |
|
|
57 | 65 |
|
58 | 66 | <br/> |
59 | 67 |
|
60 | | -## 已有功能 |
61 | | - |
62 | | -1. 优质资源推荐 |
63 | | -2. 资源全局搜索 |
64 | | -3. 资源添加 |
65 | | -4. 资源详情及相似推荐 |
66 | | -5. 个人主页,兴趣设置 |
67 | | -6. 喜欢、分享 |
68 | | -7. 生成定制主页 |
69 | | -8. 一键登录 |
70 | | - |
71 | | -<br/> |
72 | | - |
73 | | -## 快速开始 |
74 | | - |
75 | | -**请保证 Node.js 版本 > 10** ⚠️ |
76 | | - |
77 | | -1. 下载项目到本地 |
78 | | - |
79 | | - ```bash |
80 | | - git clone https://github.com/liyupi/code-nav.git |
81 | | - ``` |
82 | | - |
83 | | -2. 安装依赖 |
84 | | - |
85 | | - ```bash |
86 | | - npm install |
87 | | - ``` |
88 | | - |
89 | | -3. 本地启动项目 |
90 | | - |
91 | | - ```bash |
92 | | - npm run start |
93 | | - ``` |
94 | | - |
95 | | -4. 点击右下角 `Umi UI` 按钮,可快速新建页面,海量模板供选择。 |
96 | | - |
97 | | - |
98 | | - |
99 | | -  |
100 | | - |
101 | | -  |
102 | | - |
103 | | - 如果模板图标无法加载,请在本地配置 hosts:`151.101.64.133 raw.githubusercontent.com` |
104 | | - |
105 | | - **新建页面后,如果要在菜单列表中显示,要在 `config/menu.tsx` 中添加配置。** |
106 | | - |
107 | | -5. 打包构建 |
108 | | - |
109 | | - ```bash |
110 | | - npm run build |
111 | | - ``` |
112 | | - |
113 | | - 会生成 dist 目录,可以通过 [serve 工具 ](https://www.npmjs.com/package/serve)本地启动 server 快速浏览。 |
114 | | - |
115 | | -6. 部署 |
116 | | - |
117 | | - 提供多种部署方式: |
118 | | - |
119 | | - 1. 容器(推荐):项目已提供 `Dockerfile` 可以轻松构建 `Docker` 镜像,并将容器部署在[云托管服务](https://cloud.tencent.com/document/product/876/46901)中,实现动态扩缩容。 |
120 | | - 2. 目录:直接将 `dist` 目录放到 `Nginx` 等 web 服务器上,配置 `nginx.conf` 即可。 |
121 | | - 3. 静态站点托管:可以直接将 `dist` 目录发布到[静态站点托管](https://cloud.tencent.com/document/product/876/46900)中,有 CDN 支持 |
122 | | - |
123 | | -<br/> |
124 | | - |
125 | | -## 技术栈 |
| 68 | +## 项目生态 |
126 | 69 |
|
127 | | -### 前端 |
| 70 | +编程导航不仅仅是一个项目,而是以 "帮助大家发现优质编程资源,提升效率" 为目标的完整生态。 |
128 | 71 |
|
129 | | -前端使用 [Ant Design Pro V4](https://pro.ant.design/docs/getting-started-cn/) 后台管理模板,提升了百倍开发效率,**但是也踩了不少坑**~ |
| 72 | +1. [编程导航主站](https://www.code-nav.cn) 🏡 |
130 | 73 |
|
131 | | -1. [Umi](https://umijs.org/zh-CN) + React 前端框架 |
132 | | -2. [Ant Design](https://ant.design/index-cn) 组件库 + [Ant Design Pro 高级组件](https://procomponents.ant.design/components) |
133 | | -3. [Dva](https://dvajs.com/) 数据状态管理 |
134 | | -4. [Less](http://lesscss.cn/) CSS 预处理语言 |
135 | | -5. TypeScript 静态类型检查 |
| 74 | + 发现优质编程学习资源。可以检索自己需要的资源、分享好的资源,并对他人推荐的资源进行评价。好的资源会被更多人发现,让更多同学感受到技术带来的美好。 |
136 | 75 |
|
| 76 | +2. [编程导航主页](https://home.code-nav.cn) 🔍 |
137 | 77 |
|
| 78 | + 极简的浏览器主页,支持万能搜索,提升效率,还可以定制壁纸和主页站点。 |
138 | 79 |
|
139 | | -### 后端 |
| 80 | +3. [审核中心](https://doc.code-nav.cn/project/code-nav-review) 👮 |
140 | 81 |
|
141 | | -后端使用 [腾讯云云开发](https://cloud.tencent.com/product/tcb),全量上云,充分利用了腾讯云提供的云计算能力。 |
| 82 | + 提供资源、评论等内容的审核功能。 |
142 | 83 |
|
143 | | -1. 云数据库:配合 SDK 使用,无需编写重复的增删改查,提高开发效率,自动备份 |
144 | | -2. 云存储:配合 SDK 使用,易接入 |
145 | | -3. 云函数:开发复杂的函数,Serverless 架构,无需自行管理,可开放 Http 访问服务 |
146 | | -4. 云托管:容器技术,弹性伸缩、动态扩缩容 |
147 | | -5. 腾讯云 CMS 开箱即用的后台管理 |
| 84 | +4. [编程导航文档](https://doc.code-nav.cn) 📚 |
148 | 85 |
|
149 | | -<br/> |
| 86 | + 编程导航项目的使用指南和详细介绍。 |
150 | 87 |
|
151 | | -## 目录结构 |
152 | | - |
153 | | -``` |
154 | | -. |
155 | | -├── Dockerfile 容器构建文件 |
156 | | -├── Dockerfile.build 容器构建文件(包含 npm 打包流程) |
157 | | -├── README.md 项目说明 |
158 | | -├── cloudbaserc.json 腾讯云云开发文件,需要用 tcb 根据自己的环境生成 |
159 | | -├── cloudfunctions 后端云函数 |
160 | | -│ └── helloworld |
161 | | -├── config 配置 |
162 | | -│ ├── config.ts 全局配置 |
163 | | -│ ├── defaultSettings.ts 框架默认设置 |
164 | | -│ ├── menu.tsx 菜单列表 |
165 | | -│ ├── proxy.ts 代理 |
166 | | -│ └── routes.ts 定义路由 |
167 | | -├── docker 容器所需配置文件 |
168 | | -│ └── nginx.conf 服务器配置 |
169 | | -├── jsconfig.json 编译配置 |
170 | | -├── mock 假数据 |
171 | | -│ ├── forms.ts |
172 | | -│ ├── resources.ts |
173 | | -│ ├── tags.ts |
174 | | -│ └── user.ts |
175 | | -├── package.json 包管理文件 |
176 | | -├── public 公共目录 |
177 | | -│ └── logo.png |
178 | | -├── src 前端项目主目录 |
179 | | -│ ├── assets 资源文件 |
180 | | -│ ├── cardList.less 卡片样式 |
181 | | -│ ├── components 组件 |
182 | | -│ ├── constant 常量 |
183 | | -│ ├── global.less 全局样式 |
184 | | -│ ├── global.tsx 全局入口 |
185 | | -│ ├── layouts 布局 |
186 | | -│ ├── manifest.json |
187 | | -│ ├── models 数据模型 |
188 | | -│ ├── pages 页面 |
189 | | -│ ├── service-worker.js 缓存 |
190 | | -│ ├── services 业务请求 |
191 | | -│ ├── tcb.js 腾讯云云开发 SDK |
192 | | -│ ├── typings.d.ts 类型定义 |
193 | | -│ └── utils 工具 |
194 | | -└── tsconfig.json |
195 | | -``` |
| 88 | +5. [微信公众号服务端](https://doc.code-nav.cn/project/code-nav-mp-server) 💻 |
196 | 89 |
|
197 | | -<br/> |
| 90 | + 对接编程导航公众号,提供获取动态码、关注回复、动态菜单等功能。 |
198 | 91 |
|
199 | | -## 测试 |
| 92 | +6. [编程导航微信公众号](https://doc.code-nav.cn/author) |
200 | 93 |
|
201 | | -1. 前端使用 “伪 Mock 数据” 测试,如果使用 `UMI UI` 新建页面,框架将提供真实 Mock 测试数据。 |
202 | | -2. 如果使用腾讯云开发,可以在本地通过 `tcb` 命令测试云函数 |
| 94 | + 定期分享、介绍和评测优质编程资源,不要错过! |
203 | 95 |
|
204 | | -```bash |
205 | | -tcb fn run --name <functionName> --params <JSON params> |
206 | | -``` |
207 | | - |
208 | | -<br/> |
209 | | - |
210 | | -## 开发技巧 |
211 | | - |
212 | | -1. 使用全局 `LoadingLayout` 实现云开发、自动登录等前置条件加载 |
| 96 | +7. 编程导航小程序(特喵的没过审,待调整) |
213 | 97 |
|
214 | 98 | <br/> |
215 | 99 |
|
216 | 100 | ## 版本 |
217 | 101 |
|
218 | | -| 日期 | 版本 | 开源率 | 详情 | |
219 | | -| ------------------- | ---------- | ------ | -------- | |
220 | | -| 2021 年 01 月 10 日 | 0.0.1 内测 | 70% | 首次开源 | |
221 | | - |
| 102 | +| 日期 | 版本 | 详情 | |
| 103 | +| ------------------- | ---------- | ------------------------------------------------ | |
| 104 | +| 2021 年 01 月 10 日 | 0.0.1 内测 | 编程导航主站基本功能完成 | |
| 105 | +| 2021 年 01 月 20 日 | 0.0.2 公测 | 编程导航主站、编程导航主页、微信服务端上线,开源 | |
222 | 106 |
|
223 | 107 | <br/> |
224 | 108 |
|
|
0 commit comments