Skip to content

kennyegun24/innovate_backend

Repository files navigation

innovate_backend

This is meant to be a fusion of already existing real world projects


LANGUAGES AND TECHNOLOGIES USED

Rank Languages, Frameworks, and technologies used
1 Ruby
2 PostgreSql
3 Ruby on Rails

API ROUTES

In this backend API, there are 3 different sections/categories on how I sectioned the APIs based on auth state.


GENERAL ROUTES FOR AUTHENTICATED AND UNAUTHENTICATED USERS

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]

ROUTES FOR AUTHENTICATED USERS

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]

ROUTES FOR UNAUTHENTICATED USERS

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]

Schema Digram

Current schema (will modify diagram with more tables later)

Releases

No releases published

Packages

No packages published

Languages