Skip to content

Maxcfs2003/podcast-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Podcast-App

A simple podcast app, with user management and more

Backend Routes

User management

  • 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.

Favorites

  • 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.

Queue

  • 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.

Last Listened

  • 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.

Comments

  • 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).

Local Development

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)

About

A podcast-webapp

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published