Rank | Languages, Frameworks, and technologies used |
---|---|
1 | Ruby |
2 | PostgreSql |
3 | Ruby on Rails |
In this backend API, there are 3 different sections/categories on how I sectioned the APIs based on auth state.
User Authentication
a. api/v1/authentication [POST Method]
{
user: {
username: string,
password: string,
email: string,
name: string
}
}
b. api/v1/authentication/login [POST Method]
{
password: string,
email: string,
}
Other user work experience
user/:id/experience [GET Method]
Other user followers
user/:id/followers [GET Method]
Search func
search?query [GET Method]
Posts
ALL POSTS: /api/v1/auth/posts [GET Method]
CREATE POST: /api/v1/auth/posts [POST Method]
ONE POST: /api/v1/auth/posts/:id [GET Method]
DELETE POST: /api/v1/auth/posts/:id [DESTROY Method]
User Profile
Update Profile: /api/v1/auth/user/update_profile [PUT Method]
CURRENT USER PROFILE: /api/v1/auth/user/profile [GET Method]
OTHR USER PROFILE: /api/v1/auth/users_details/:id [GET Method]
Post interractions
POST LIKE AND UNLIKE: /api/v1/auth/post/:id/like [POST Method]
POST CREATE COMMENT: /api/v1/auth/post_comments [POST Method]
POST DELETE COMMENT: /api/v1/auth/post_comments/:id [DELETE Method]
POST SHOW ALL COMMENTS: /api/v1/auth/post_comments [GET Method]
Work experience
CURRENT USER WORK EXPERIENCE: /api/v1/auth/user/:id/experience [GET Method]
ADD WORK EXPERIENCE: /api/v1/auth/user/experience [POST Method]
UPDATE WORK EXPERIENCE: /api/v1/auth/user/experience/:id [PUT Method]
Followers
FOLLOW AND UNFOLLOW USER: /api/v1/auth/follows [POST Method]
CURRENT USER FOLLOWERS: /api/v1/auth/follows [GET Method]
POSTS
ALL POSTS: /api/v1/unauth/posts [GET Method]
ONE POST: /api/v1/unauth/posts/:id [GET Method]
USER POSTS: /api/v1/unauth/user/:id/posts [GET Method]
USER DETAILS
USER DETAILS: /api/v1/unauth/users_details/:id [GET Method]
![](https://private-user-images.githubusercontent.com/109461921/244825881-10a3d492-836f-4098-8153-51a8542b4902.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU1Njc1MTYsIm5iZiI6MTcyNTU2NzIxNiwicGF0aCI6Ii8xMDk0NjE5MjEvMjQ0ODI1ODgxLTEwYTNkNDkyLTgzNmYtNDA5OC04MTUzLTUxYTg1NDJiNDkwMi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTA1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkwNVQyMDEzMzZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xOTIyNWZkYTJlOGQ4YjEyMjhiN2VjZmI4ZjJlN2UyNGVlOGY3N2M2Y2Q0MGIwZDcxMDk0OGM4MTM4NTEwYjgzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.1jr405pMTy4-eJ34dcnk42ZtEYOXGHGrNgOnLwciLgE)