-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Feature
1 / 21 of 2 issues completed
Copy link
Labels
Not Accepting PRsdocumentationImprovements or additions to documentationImprovements or additions to documentationhelp wantedExtra attention is neededExtra attention is neededjavascriptPull requests that update javascript codePull requests that update javascript code
Description
π MEGA-ISSUE Backend REST API for Forum
π Description
We need to implement a RESTful backend server for a forum web app. The main entities involved are:
Schema has already been defined in the scaffold by maintainers.
-
Users
Example - https://linustechtips.com/profile/1175755-therealsean/
Authenticated using Google OAuth -
Topics
Represents a category under which threads live
LTT forum uses Topic > Sub-topics. We simplify that to Topic only. -
Threads
Represents a discussion within a topic
Example - https://linustechtips.com/topic/1617044-i-built-the-cheapest-self-driving-car/ -
Posts
Represents a message inside a thread
https://linustechtips.com/topic/1617044-i-built-the-cheapest-self-driving-car/?do=findComment&comment=16761799
β Required Features
- CRUD for Topics, Threads, Posts
- Offset-based pagination on Topics
- Google OAuth authentication for Users (include required tokens/flows for frontend)
- Anonymous post support with moderation (
approvedflag) - Upvote / Downvote system on Threads and Posts
- Authenticated routes for creating threads/posts if not anonymous
- Basic user profile endpoints (
/me, etc.)
π Google OAuth Notes
- Use OAuth 2.0 for authentication (Google Sign-In)
- Frontend will need access to:
- Google Client ID
- Authorization flow
- Backend will need to:
- Verify ID tokens
- Manage session / JWT tokens post-login
- Store authenticated user in DB if not present
Instructions for contributors
- File an issue for the API route or feature you want to implement. Make sure there is no redundant work being done.
- Describe what your issue addresses.
- Make the relevant Pull Request.
π¬ API Checklist (Maintainers please update this with the needed API routes. Also update whenever an issue is closed and feature is fulfilled.)
User
-
/api/v1/user/<userid>- Gives information about the user
Posts
-
/api/v1/post/<postid>- Gives information about the user
Thread
-
/api/v1/thread/<threadid>- Gives information about the user
Topic
-
/api/v1/topic/topicid>- Gives information about the user
Auth
-
/api/v1/auth/<callback_url>Authorizes a user after receiving relevant data from OAuth
Reactions are currently unavailable
Sub-issues
Metadata
Metadata
Assignees
Labels
Not Accepting PRsdocumentationImprovements or additions to documentationImprovements or additions to documentationhelp wantedExtra attention is neededExtra attention is neededjavascriptPull requests that update javascript codePull requests that update javascript code