Micro-blog
Motivation
Content Management System provides CKEditor blogging style with user profile, commentary, interactions, file uploading, content real-time translation, followers, notifications,E-mail support, full-text search and APIs
Tools and Technologies:
Flask |
SQLite |
SQLAlchemy |
Elasticsearch |
HTML |
CSS |
Bootstrap |
JavaScript |
JQuery |
AJAX |
JSON |
Gmail SMTP |
i18n and l10n |
Principles/Patterns:
MVC, Blueprints, Mixins, Pagination, REST, Decorator and Single ResponsibilityDetails
This project has been developed on Ubuntu Bionic Beaver OS and FireFox browser 70.0.1 (64-bit)
Installation
Clone the repository
foo@bar:~$ git clone https://github.com/Abdulrahmannaser/Micro-blog.git
Environment
To create dockerized (isolated) environment contains only dependencies of the project and prevents interaction with your home ecosystem do the following:
foo@bar:~$ pip3 install virtualenvwrapper
foo@bar:~$ export WORKON_HOME=~/Envs
foo@bar:~$ mkdir -p $WORKON_HOME
foo@bar:~$ source ~/.local/bin/virtualenvwrapper.sh
foo@bar:~$ mkvirtualenv microblog
Then you will find your env has changed
(microblog) foo@bar:~$
Now we can install some software into the environment.
Dependencies
You have to intall requirements.txt to install dependencies
(microblog) foo@bar:~$ cd Micro-blog
(microblog) foo@bar:~/Micro-blog$ pip3 install -r requirements.txt
Mail support
You will find mail config with a test mail that I published it's password to cut the road for testing the app without worrying about mail cofig
Application Discovery
The flask
command is installed by Flask, not your application; it must be told where to find your application in order to use it. The FLASK_APP environment variable is used to specify how to load the application.
(microblog) foo@bar:~/Micro-blog$ export FLASK_APP=app
(microblog) foo@bar:~/Micro-blog$ flask run
* Serving Flask app "app" (lazy loading)
* Environment: development
* Debug mode: on
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 208-528-382
Congrats! now you can access the app locally on the displayed url http://127.0.0.1:5000/
Contributing
Pull requests are welcome. For major changes please open an issue first to discuss what you would like to change.
Before submitting your PR, consider running some code formatter on the lines you touched or added. This will help reduce the time spent on fixing small styling issues in code review. Good options are yapf or autopep8 which likely can be integrated into your favorite editor.
Please refrain from formatting the whole file if you just change some small part of it. If you feel the need to tidy up some particularly egregious code, then do that in a separate PR.