A simple podcast app, with user management and more
-
POST
/api/user/register(no authorization required)
Create a new user. -
POST
/api/user/login(no authorization required)
Log in a user, by providing a session cookie. -
POST
/api/user/logout(no authorization required)
Logout a user. -
GET
/api/user/authenticate(no authorization required)
Get user information by providing a valid token and validate the current session. -
DELETE
/api/user/(authorization required)
Delete a user. -
PUT
/api/user/update-password(authorization required)
Update user password by providing the current- and new password. -
POST
/api/user/upload(authorization required)
Update user profile picture. -
PUT
/api/user/update-description(authorization required)
Set a users description. -
GET
/api/user?id=?(no authorization required)
Get a user's information by providing a valid user id.
-
GET
/api/favorites/(authorization required)
Get the favorite status of a single favorite (favorited or not favorited). -
GET
/api/favorites/:page/:count(authorization required)
Get the favorites of an user (paginated). -
POST
/api/favorites/(authorization required)
Add a new favorite to user. -
DELETE
/api/favorites/(authorization required)
Delete a favorite of an user.
-
GET
/api/queue/(authorization required)
Get the queue of an user. -
POST
/api/queue/(authorization required)
Add an episode to the queue. -
PATCH
/api/queue?queue_id?&dir=?(authorization required)
Move an episode in the queue. -
DELETE
/api/queue?queue_id=?(authorization required)
Delete an episode in the queue.
-
GET
/api/recent/(authorization required)
Get the last listened episodes of an user. -
POST
/api/recent/(authorization required)
Add an episode to the last listened episodes.
-
GET
/api/comment?podcast_id=?(authorization required)
Get the comment of a certain user for a podcast. -
POST
/api/comment/(authorization required)
Add a comment. -
PATCH
/api/comment/(authorization required)
Edit a comment. -
DELETE
/api/comment?podcast_id=?(authorization required)
Delete a comment. -
GET
/api/comments?podcast_id=?&page=?(no authorization required)
Get all comments of a certain podcast (paginated).
Frontend
run the following commands in the /client folder
install dependencies:
npm install
run local dev server:
npm run dev
Backend
run the following command in the /server folder
go run main.go
or optionally with go air for live reload (Link)