Here's the website: Start Scribbling!
LifeScribe is an online web journal application in which users are able to log in and enter their thoughts (scribbles) and review them by day and time entered!
Lifescribe requires Node.js 12.18+ to run.
Lifescribe requires Node.js 12.18+ to run. Install the dependencies and devDependencies then start the server.
npm install
To run front-end or back-end tests, simply run npm t
in the terminal.
{
id: {
type: Integer,
required: true,
unique: true
},
first_name: {
type: Text,
required: true,
unique: false
},
last_name: {
type: Text,
required: true,
unique: false
},
username: {
type: Text,
required: true,
unique: true
},
password: {
type: Text,
required: true,
unique: false
},
email: {
type: Text,
required: true,
unique: true
},
date_created: {
type: TimestampTZ,
required: true,
unique: false,
default: TimestampTZ.now
},
date_modified: {
type: TimestampTZ,
required: false,
unique: false
},
}
{
id: {
type: Integer,
required: true,
unique: true
},
date_created: {
type: Date,
required: true,
unique: false,
default: Date.now
},
user_id: {
type: id,
ref: User
}
}
{
id: {
type: Integer,
required: true,
unique: true
},
date_created: {
type: Date,
required: true,
unique: false,
default: Date.now
},
time_created: {
type: TimestampTZ,
required: true,
unique: true,
default: TimestampTZ.now
},
scribble_type: {
type: Integer,
required: true,
unique: false
},
scribble_content: {
type: Text,
required: true,
unique: false
},
scribe_id: {
type: id,
ref: Scribe
},
user_id: {
type: id,
ref: User
}
}
/api
.
|__/auth
| |__POST
| |__/login
|
|__/users
| |__GET
| |__POST
| |__PATCH
| |__DELETE
| |__/
|
|__/scribes
| |__GET
| |__GET /scribbles
| |__GET /currentScribe
| |__POST
| |__/
|
|__/scribbles
|__GET
|__GET /for_scribe/:scribe_id
|__GET
|__PATCH
|__DELETE
|__ /:scribble_id
|__POST
|__ /
//req.body
{
user_name: String
password: String
}
// res.body
{
authToken: {$token}
}
//req.body
{
user_name: String
password: String
}
// res.body
{
id: Integer
first_name: String
last_name: String
email: String
user_name: String
}
//req.body
{
first_name: String
last_name: String
email: String
password: String
user_name: String
}
//res.body
{
id: Integer
first_name: String
last_name: String
email: String
user_name: String
}
//req.body
{
first_name: String
last_name: String
email: String
password: String
user_name: String
}
//res.body
{
status: 204
}
//req.body
{
id: Integer
}
//res.body
{
status: 204
}
//req.body
{
id: Integer
user_id: Integer
}
//res.body
{
id: Integer
date_created: Date
time_created: TimestampTZ
scribble_type: Integer
scribble_content: String
scribe_id: Integer
}
//req.body
{
user_id: Integer
}
//res.body
{
id: Integer
date_created: Date
time_created: TimestampTZ
scribble_type: Integer
scribble_content: String
scribe_id: Integer
}
//req.body
{
user_id: Integer
}
//res.body
{
id: Integer
date_created: Date
time_created: TimestampTZ
scribble_type: Integer
scribble_content: String
scribe_id: Integer
}
//req.body
{
user_id: Integer
}
//res.body
{
id: Integer
date_created: Date
time_created: TimestampTZ
scribble_type: Integer
scribble_content: String
scribe_id: Integer
}
//req.body
{
scribe_id: Integer
}
//res.body
{
id: Integer
date_created: Date
time_created: TimestampTZ
scribble_type: Integer
scribble_content: String
scribe_id: Integer
user_id: Integer
}
//req.body
{
scribe_id: Integer
}
//res.body
{
id: Integer
date_created: Date
time_created: TimestampTZ
scribble_type: Integer
scribble_content: String
scribe_id: Integer
user_id: Integer
}
//req.body
{
scribe_id: Integer
}
//res.body
{
id: Integer
date_created: Date
time_created: TimestampTZ
scribble_type: Integer
scribble_content: String
scribe_id: Integer
user_id: Integer
}
//req.body
{
scribble_content: String
}
//res.body
{
status: 204
}
//req.body
{
id: Integer
}
//res.body
{
status: 204
}
//req.body
{
scribble_type: Integer
scribble_content: String
scribe_id: Integer
user_id: Integer
}
//res.body
{
id: Integer
date_created: Date
time_created: TimestampTZ
scribble_type: Integer
scribble_content: String
scribe_id: Integer
user_id: Integer
}
React
Node
Express
JWT
Mocha
Chai
Enzyme
Michael Oldacre - Full Stack
A great many thanks goes to Mark Lewis for all the help!
Written with StackEdit.