/Qotes

A note web application based on Flask.

Primary LanguageCSSMIT LicenseMIT

Qotes

A note application based on Flask

  • Qotes is a web application based on Flask and MongoDB.
  • Qotes is designed to help you with your notes especially study notes.
  • Qotes uses cards as records of notes, which take Markdown for default.
  • The cards are like nodes in a tree structure with the author as the root, which means every card will consist of several cards and so on.
  • Both in full content mode or just the broad outline mode can the cards be viewed.

Technology Colophon

  • HTML5, Bootstrap, jQuery
  • Nginx, Flask, MongoDB

Flask & MongoDB

  • Flask is an interesting framework. There are many ways to implement a function in flask. It's concise but fabulous. I started this project just for a try but it turned out to be impressive.
  • I wanted to have a try so I chose MongoDB which I have never used before. I picked flask_mongoengine as the ODM at first. It was supposed to work like flask_sqlalchemy but it just let me down. And since I'm learning, why not use the pymongo directly? It worked, the docs of pymongo was a spectacular to me.

Markdown

  • The cards use Markdown as default text language.
  • The cards will automatically use the # [title] as the title of a card and a list of ## [outline] as a gist. These things will frame the the preview of the card.
  • I designed this application to help me learn Python at first, so Qotes is basically supposed to display codes in a friendly way.
  • There are many interesting things about markdown in this site except GFM. Maybe I will work on it after some of the more important utilities are implemented.

User Interface

  • I'm quite not good at Javescript or AngularJS and React or any other kind of these staffs. It took me a whole afternoon to learn JS and jQuery and implement the function of attaching cards to another by drawing and dropping. It turned out that JS is easy to learn but difficult to use.
  • So I imported several open source JS scripts, most of which need improvement. I'm working on it.
  • Basic functions are completed, such as posting a card in a single column swiftly or writing a card patiently with a powerful editor, single card bookmark during the session and the coming powerful searching bar.
  • I'm thinking of changing all the front-end to Vue.js or React instead of Jinja2 and jQuery after API is completed.

Thanks to them

And developers of modules imported in the source code.

TODO & WORKING ON

  • RESTful API
  • Ajax
  • Search
  • Pravite Cards
  • Quote Cards
  • More front-end things

LICENSE & Other things

This version of Qotes is under The MIT License (MIT) which means you are free to do almost everything with the code of this project.

You can also visit the site by hand to get a preview of the project. Link: http://qotes.top. The site blocked some functions because of local legal specifications. But all functions are designed to be available for any user. You can change a few configs to activate them(e.g. view&quote others' cards).

你可以访问http://qotes.top实际体验一下这个项目。因为某些规定的原因,本网站不支持查看或者引用他人的卡片。但是为了练习,这些功能都在程序设计时考虑到了并且实现了,只不过在实际运行中被故意封锁住了。你可以自己尝试更改设置来开放这些功能用作试验。

Contact ME-somarl@live.com

The TODO is for me so it is in Chinese. Don't worry, the comments in the source code are all in English. If you want to contact me for more information or something else, please email to: somarl@live.com