Simple project implementing OAuth 2.0 and JWT.
User {
id: bigint, primary key, auto increment
email: int, key
name: varchar
auth_provider: varchar
password: varchar, nullable
}
Role {
id: bigint, primary key, auto increment
name: varchar, key
description: varchar
}
UserRole {
user_id: bigint, foreign key(User), primary key
role_id: bigint, foreign key(Role), primary key
}
Mantra {
id: bigint,
message: string,
user_id: bigint, foreign key(User)
}
- Anyone who visits is a
visiter
- A
visitor
can register via google, twitter or email to become auser
- Some
user
s areadmin
- A
user
can create, update and delete theirmantra
- A
user
can view mantras of all otheruser
s - An
admin
can delete anyuser
s mantra - An
admin
can make another useradmin
- Logging
- Unit Testing
- Typescript
- NextJs
- Typescript
- JWT
- OAuth 2.0
- joi
- Jest Unit Testing
- Sequelize