Node.js Backend Architecture Typescript - Learn to build a backend server for production ready blogging platform like Medium and FreeCodeCamp. Main Features: Role based, Express.js, Mongoose, Redis, Mongodb, Joi, Docker, JWT, Unit Tests, Integration Tests.
In general APIs with v1 in the routes directory is not a good way to handle versioning. This has been removed from the project.
Now {host}/v1/login
will become {host}/login
This is major update to the project and not compatible with the version 1.x.x
Major Changes
Authorization
header with the Bearer
scheme.x-user-id
header has been removed.Earlier:
GET /v1/profile/my
// Headers
x-api-key: GCMUDiuY5a7WvyUNt9n3QztToSHzK7Uj
Content-Type: application/json
x-access-token: <your_token_received_from_signup_or_login>
x-user-id: <your_user_id>
Now:
GET /v1/profile/my
// Headers
x-api-key: GCMUDiuY5a7WvyUNt9n3QztToSHzK7Uj
Content-Type: application/json
Authorization: Bearer <your_token_received_from_signup_or_login>
Earlier:
export interface IUser extends Document {
name: string;
...
}
const User = model<IUser>(DOCUMENT_NAME, schema, COLLECTION_NAME);
export default User;
Now:
IUser
→ User
and User
→ UserModel
export default interface User extends Document {
name: string;
...
}
export const UserModel = model<User>(DOCUMENT_NAME, schema, COLLECTION_NAME);
Similar changes for IApiKey
, IRole
, IKeystore
, and IBlog