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
visitorcan register via google, twitter or email to become auser - Some
users areadmin - A
usercan create, update and delete theirmantra - A
usercan view mantras of all otherusers - An
admincan delete anyusers mantra - An
admincan make another useradmin
- Logging
- Unit Testing
- Typescript
- NextJs
- Typescript
- JWT
- OAuth 2.0
- joi
- Jest Unit Testing
- Sequelize