The purpose of this document is to provide an overview of the project, expected product features and the presentation of the final product.
Make easy sharing of information, knowledge and experience by welcoming and aspiring young writers to write on any subject they want and reach out to many readers across the globe.
Reader and author can create an account. Reader, author and the administrator can login. Author can create articles. Reader, author and administrator can read articles. Administrator can review and set reader age limit on an article. Reader can sort articles by category. Administrator can add trusted authors badge. Reader can add comment on an article. Blog can auto-detect sensitive info and restrict them. Reader can view author profile with articles wrote. Administrator can record bad words
Additional features Author can edit his/her article Author can delete his/her article Reader can edit his/her comment Reader can delete his/her comment Reader and author can recover password over email Administrator can edit bad word Administrator can delete bad word
id (integer)
name (string)
gender (string)
dob (date)
email (string)
password (string)
joiningdate (datetime)
usertype (string)
trustedbadge (boolean)
id (integer)
title (string)
content (string)
user (integer)
date (datetime)
category (integer)
tags (string <array>)
agelimit (integer)
Reviewed (boolean)
id (integer)
name (string)
parent (integer)
id (integer)
word (string)
id (integer)
comment (string)
article (integer)
user (integer)
date (datetime)
id (integer)
user (integer)
code (integer)
hash (string)
status (string)
date (datetime)
On Error
{
status: errorCode,
error: “errorMessage”
}
On Success
{
status: successCode,
data: [{ … }]
}
{
“status”: 200,
data: [{
“token”: “jwtTokenHere”,
“User”: { … }
}]
}
{
“status”: 200,
data: [{
“token”: “jwtTokenHere”
}]
}
{
“status”: 200,
data: [{
“id”: Integer,
“title”: String,
“content”: Integer,
“author”: {“id”: Integer, “name”: String},
“date”: Datetime,
“category”: {“id”: Integer, “name”: String},
“tags”: [String, String],
“agelimit”: Integer,
“reviewed”: Boolean,
}]
}
{
“status”: 200,
data: [{
“id”: Integer,
“title”: String,
“content”: Integer,
“author”: {“id”: Integer, “name”: String},
“date”: Datetime,
“category”: {“id”: Integer, “name”: String},
“tags”: [String, String],
“agelimit”: Integer,
“reviewed”: Boolean,
}, {
“id”: Integer,
“title”: String,
“content”: Integer,
“author”: {“id”: Integer, “name”: String},
“date”: Datetime,
“category”: {“id”: Integer, “name”: String},
“tags”: [String, String],
“agelimit”: Integer,
“reviewed”: Boolean,
}]
}
{
“status”: 200,
data: [{
“id”: Integer,
“title”: String,
“content”: Integer,
“author”: {“id”: Integer, “name”: String},
“date”: Datetime,
“category”: {“id”: Integer, “name”: String},
“tags”: [String, String],
“agelimit”: Integer,
“reviewed”: Boolean,
}]
}
{
“status”: 200,
data: [{
“id”: Integer,
“title”: String,
“content”: Integer,
“author”: {“id”: Integer, “name”: String},
“date”: Datetime,
“category”: {“id”: Integer, “name”: String},
“tags”: [String, String],
“agelimit”: Integer,
“reviewed”: Boolean,
}, {
“id”: Integer,
“title”: String,
“content”: Integer,
“author”: {“id”: Integer, “name”: String},
“date”: Datetime,
“category”: {“id”: Integer, “name”: String},
“tags”: [String, String],
“agelimit”: Integer,
“reviewed”: Boolean,
}]
}
{
“status”: 200,
data: [{
“id”: Integer,
“title”: String,
“content”: Integer,
“author”: {“id”: Integer, “name”: String},
“date”: Datetime,
“category”: {“id”: Integer, “name”: String},
“tags”: [String, String],
“agelimit”: Integer,
“reviewed”: Boolean,
}, {
“id”: Integer,
“title”: String,
“content”: Integer,
“author”: {“id”: Integer, “name”: String},
“date”: Datetime,
“category”: {“id”: Integer, “name”: String},
“tags”: [String, String],
“agelimit”: Integer,
“reviewed”: Boolean,
}]
}
{
“status”: 200,
data: [{
“id”: Integer,
“title”: String,
“content”: Integer,
“author”: {“id”: Integer, “name”: String},
“date”: Datetime,
“category”: {“id”: Integer, “name”: String},
“tags”: [String, String],
“agelimit”: Integer,
“reviewed”: Boolean,
}, {
“id”: Integer,
“title”: String,
“content”: Integer,
“author”: {“id”: Integer, “name”: String},
“date”: Datetime,
“category”: {“id”: Integer, “name”: String},
“tags”: [String, String],
“agelimit”: Integer,
“reviewed”: Boolean,
}]
}
{
“status”: 200,
data: [{
“id”: Integer,
“comment”: String,
“article”: {“id”: Integer, “title”: String},
“user”: {“id”: Integer, “name”: String},
“date”: Datetime,
}]
}
{
“status”: 200,
data: [{
“id”: Integer,
“comment”: String,
“article”: {“id”: Integer, “title”: String},
“user”: {“id”: Integer, “name”: String},
“date”: Datetime,
}, {
“id”: Integer,
“comment”: String,
“article”: {“id”: Integer, “title”: String},
“user”: {“id”: Integer, “name”: String},
“date”: Datetime,
}]
}
{
“status”: 200,
data: [{
“id”: Integer,
“name”: String,
“parent”: {id: Integer, name:String},
}]
}
{
“status”: 200,
data: [{
“id”: Integer,
“name”: String,
“parent”: {id: Integer, name:String},
}, {
“id”: Integer,
“name”: String,
“parent”: {id: Integer, name:String},
}]
}
{
“status”: 200,
data: [{
“id”: Integer,
“name”: String,
“parent”: {id: Integer, name:String},
}]
}
{
“status”: 200,
data: [{
“id”: Integer,
“word”: String,
}]
}
{
“status”: 200,
data: [
“profile”: {
“id”: Integer,
“names”: String,
“gender”: String,
“email”: String,
“joindate”: Date,
“usertype”: String,
},
“articles”: {
“id”: Integer,
“title”: String,
“content”: Integer,
“author”: {“id”: Integer, “name”: String},
“date”: Datetime,
“category”: {“id”: Integer, “name”: String},
“tags”: [String, String],
“agelimit”: Integer,
“reviewed”: Boolean,
}, {
“id”: Integer,
“title”: String,
“content”: Integer,
“author”: {“id”: Integer, “name”: String},
“date”: Datetime,
“category”: {“id”: Integer, “name”: String},
“tags”: [String, String],
“agelimit”: Integer,
“reviewed”: Boolean,
}]
}
{
“status”: 200,
data: [{
“word”: [String, String, String, ...],
}]
}