在信息爆炸时代,如何避免持续性信息过剩,使自己变得专注而不是被纷繁的信息所累?每天会看到各种各样的新闻,各种新潮的技术层出不穷,如何筛选出自己所关心的?

各位看官会想,我们是来看开源软件的,你给我扯什么信息干嘛,别着急,听我慢慢道来。

背景

浏览器收藏夹应该是我们在收藏文章、网站的第一个利器,平时遇到喜欢的网站或者文章很方便的收藏到收藏夹中;很快我们的收藏夹就满了,于是就像我这样,创建文件夹来分组两层、三层都有:

有的也会借助百度首页导航这样的一些功能来整理自己收藏的网站,以前我记得QQ还有一款产品叫做网络收藏夹,用过一段时间,后来QQ也把这款产品给淘汰了;也尝试了去用印象笔记、有道笔记这些产品,这些产品都偏向收藏一些具体的文章或者自己整理的日志信息方面。

当浏览器收藏夹收藏的网站或者文章在一百份以内的时候收藏和查找问题都不是特别大。当收藏大于1000份的时候,去查找自己收藏的内容绝对是个体力活,另外还有一些文章我仅仅只是暂时保存下来,准备随后找时间看看就行,也需要收藏、整理、删除的时候就很麻烦。

产品介绍

于是在这样的背景下,我就想着需要做这么一款产品,可以方便随时随地的收藏我喜欢的文章或者网站,方便整理,我日后需要的时候非常方便的去检索,另外如果可以的话,我是否可以分享我自己收藏的文章或者网站,同时也可以看看大牛们或者是同行都收藏了什么文章我是否感兴趣,于是就开发了这么一款产品:云收藏

核心功能点:

  • 收藏、分类、检索文章
  • 导出、导出(包活从浏览器中)
  • 可以点赞、分享、讨论
  • 注册、登录、个人账户
  • 临时收藏、查看别人收藏
  • 其它…

放产品一些截图:

主页

注册

首页

收藏

技术点

这段时间我们团队主要在学习spring boot,这个开源项目也就成了我们的练习新技术的一个非常好的产品,主要的技术都是和spring boot相关,可以参考我以前文章构建微服务:spring boot系列文章

网页端

网页端收藏夹主页

收藏快捷图标

这个是收藏的最关键一步,一段js代码,拖入到浏览器的收藏夹,每次点击收藏的时候负责读取网站的title、描述、网址等信息,并且提交到收藏的页面

前端

前端页面由Angle - Bootstrap Admin theme这套主题改造而来;模版引擎使用了thymeleaf,可以参考这篇文章:springboot(四):thymeleaf使用详解

持久层

数据库主要使用了 Spring data jpa模版来实现,可以参考这篇文章:springbooot(五):spring data jpa的使用

session

session使用持久化技术来保存登录状态,登录一次保持需要会话30天,主要是依赖redis来实现,参考:springboot(三):Spring boot中Redis的使用

其它

使用grade做为项目的构建工具、使用了一点webjarsvuejsJsoupScheduled

客户端

客户端技术使用react native来开发安卓和IOS的app,目前还在开发中,完成之后也会开源出来。

未来计划做的内容

这个开源产品暂时只是开源了我们web端产品,安卓端、IOS端内容的开发还在进行中。

未来我们还会持续的来完善这些产品,做一些有意思的小功能,以下可能是我们近期准备要做的

  • 可以自定义个人收藏页面
  • 无登录可以查看热门收藏内容
  • 首页展示热门收藏家
  • 小纸条
  • 智能推荐
  • 其它…

大家有什么更好玩想法,也可以在建议给我们

产品主页

产品地址
源码地址


作者:纯洁的微笑
出处:http://www.ityouknow.com/
版权所有,欢迎保留原文链接进行转载:)

spring boot 实战:我们的第一款开源软件的更多相关文章

  1. SpringBoot实战:我们的第一款开源软件

    原文出处: 纯洁的微笑 在信息爆炸时代,如何避免持续性信息过剩,使自己变得专注而不是被纷繁的信息所累?每天会看到各种各样的新闻,各种新潮的技术层出不穷,如何筛选出自己所关心的? 各位看官会想,我们是来 ...

  2. spring boot实战(第一篇)第一个案例

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   spring boot实战(第一篇)第一个案例 前言 写在前面的话 一直想将spring boot相关内容写成一个系列的 ...

  3. Spring Boot 实战 —— MyBatis(注解版)使用方法

    原文链接: Spring Boot 实战 -- MyBatis(注解版)使用方法 简介 MyBatis 官网 是这么介绍它自己的: MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过 ...

  4. spring boot实战(第十三篇)自动配置原理分析

    前言 spring Boot中引入了自动配置,让开发者利用起来更加的简便.快捷,本篇讲利用RabbitMQ的自动配置为例讲分析下Spring Boot中的自动配置原理. 在上一篇末尾讲述了Spring ...

  5. spring boot实战(第十二篇)整合RabbitMQ

    前言 最近几篇文章将围绕消息中间件RabbitMQ展开,对于RabbitMQ基本概念这里不阐述,主要讲解RabbitMQ的基本用法.Java客户端API介绍.spring Boot与RabbitMQ整 ...

  6. RabbitMQ与Spring的框架整合之Spring Boot实战

    1.RabbitMQ与Spring的框架整合之Spring Boot实战. 首先创建maven项目的RabbitMQ的消息生产者rabbitmq-springboot-provider项目,配置pom ...

  7. 《Spring Boot实战》笔记(目录)

    目录 目 录第一部分 点睛Spring 4.x第1 章 Spring 基础 .............................................................. ...

  8. Spring Boot实战:集成Swagger2

    一.Swagger简介 上一篇文章中我们介绍了Spring Boot对Restful的支持,这篇文章我们继续讨论这个话题,不过,我们这里不再讨论Restful API如何实现,而是讨论Restful ...

  9. 《spring boot 实战》读书笔记

    前言:虽然已经用spring boot开发过一套系统,但是之前都是拿来主义,没有系统的,全面的了解过这套框架.现在通过学习<spring boot实战>这本书,希望温故知新.顺便实现自己的 ...

随机推荐

  1. 关于如何提高Web服务端并发效率的异步编程技术

    最近我研究技术的一个重点是java的多线程开发,在我早期学习java的时候,很多书上把java的多线程开发标榜为简单易用,这个简单易用是以C语言作为参照的,不过我也没有使用过C语言开发过多线程,我只知 ...

  2. Partition1:新建分区表

    未分区的表,只能存储在一个FileGroup中:对Table进行分区后,每一个分区都存储在一个FileGroup,或分布式存储在不同的FileGroup中.对表进行分区的过程,是将逻辑上完整的一个表, ...

  3. ExtJS 4.2 介绍

    本篇介绍ExtJS相关知识,是以ExtJS4.2.1版本为基础进行说明,包括:ExtJS的特点.MVC模式.4.2.1GPL版本资源的下载和说明以及4种主题的演示. 目录 1. 介绍 1.1 说明 1 ...

  4. Python标准库--typing

    作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 1 模块简介 Python 3.5 增加了一个有意思的库--typ ...

  5. 谈谈一些有趣的CSS题目(七)-- 消失的边界线问题

    开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...

  6. python与c互相调用

    虽然python开发效率很高,但作为脚本语言,其性能不高,所以为了兼顾开发效率和性能,通常把性能要求高的模块用c或c++来实现或者在c或c++中运行python脚本来处理逻辑,前者通常是python中 ...

  7. PHP之用户验证和标签推荐的简单使用

    本篇主要是讲解一些最简单的验证知识 效果图 bookmark_fns.php <?php require_once('output_fns.php'); require_once('db_fns ...

  8. Kooboo CMS技术文档之四:Kooboo CMS的站点组成部分

    Kooboo CMS本着功能独立分离的原则,将站点分为三部分组成:用户管理,站点管理和内容数据库管理.各个功能之间既可独立使用,也可以容易组成在一起形成一个完整的系统. 用户管理 管理整个系统内的用户 ...

  9. SAP CRM 将组件整合至导航栏中

    到现在,我们已经可以让组件独立地显示.我们只是运行它.让它显示在Web UI中.让我们把组件整合进导航栏,使我们可以在正常登录Web UI时访问它. 步骤一: 为你的UI组件主窗体创建一个内向插件. ...

  10. 跟着老男孩教育学Python开发【第一篇】:初识Python

    Python简介 Python前世今生 Python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解 ...