Skip to content

monees007/BlogLite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BlogLite

Live Demo

Capstone Project for AppDev I, done under guidance of @AbhishekPOD and @nitinC

This is a markdown based blogging site. It provides live preview while writing the post. Most interactions in the app are asynchronous. App supports Google based Oauth 2.0 login and API key to authenticate APIs.

Technologies used

Flask
Bootstrap: Designing and styling
Flask MDE: Interactive editor for Markdown
Flask Restful: API
OpenAPI 3.0
Flask-Markdown
Google: Authentication
SQLite3: Database

API Design

REST based API for Entries, Comments and User. Some extra features have been added as PATCH on some endpoints. Architecture and Features The app has a set of controller files which has all the modifier functions. These functions have been used by API and routes as per requirements.

Database

Schema

Features

Authentication

The app supports Oauth 2.0 Google login, hence needing a google account for the same. Once logged in, users can download the credentials for API, from the ‘Manage’ option on the profile page. The API supports both cookies based authentication as well as api_key in header. This is done in order to facilitate async functions on the app.

Entries

Users can create an entry by clicking on the add button at the navigation bar. Text can be entered plain or markdown. Live Preview can be seen aside the textbox. Local as well as external images are supported. No word limit has been set.

Comments

Markdown support for comments is not provided. They are asynchronous.

File Upload

File upload is done through API ( async for app ) which returns filename/address that is immediately used by MD editor to add syntax for image. Preview of recently uploaded images is not shown immediately. This is a known issue.

Export

App supports user data exports and exports posts, profile, comments on post in json format.

Comments

Markdown support for comments is not provided. They are asynchronous.