A full stack web app that allows web developers to easily create a basic portfolio site to introduce themselves and demo their skills and projects.
- Node.js
- Express
- PostgreSQL
Protected endpoints require a valid auth token in the authorization header. In order to obtain an auth token, either register if you're a new user, or log in if you're an existing user, and find the auth token in your browser's local storage.
For example, if using Google Chrome, log in to your Devspace account, open Chrome Developer Tools (Ctrl+Shift+I), navigate to the Application tab in the top nav bar, expand the Local Storage dropdown and select the option at https://https://ryanjeske-devspace.herokuapp.com/. If you are logged in, you should see your current auth token under the devspace-auth-token key.
For protected endpoints, you will need to include your auth token in the authorization header of your HTTP request, preceded by "bearer".
Example: authorization: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Used to create the initial user account by submitting only the username, full name, and password.
POST
https://secure-badlands-85742.herokuapp.com/api/users
content-type: application/json
Responds with requested user's full name, title, bio, profile picture, theme color, banner image, GitHub URL, LinkedIn URL, and email address.
GET
https://secure-badlands-85742.herokuapp.com/api/users/:user_name
https://secure-badlands-85742.herokuapp.com/api/users/chucknorris
Used to update requested user's full name, title, bio, profile picture, theme color, banner image, GitHub URL, LinkedIn URL, and email address.
PATCH
https://secure-badlands-85742.herokuapp.com/api/users/:user_name
https://secure-badlands-85742.herokuapp.com/api/users/chucknorris
content-type: application/json authorization: bearer
Used to delete requested user's account.
DELETE
https://secure-badlands-85742.herokuapp.com/api/users/:user_name
https://secure-badlands-85742.herokuapp.com/api/users/chucknorris
authorization: bearer
Used to create a new project by submitting the project's name, description, skills, GitHub URL, demo URL, and image URL.
POST
https://secure-badlands-85742.herokuapp.com/api/projects
content-type: application/json authorization: bearer
Responds with requested projects's id, name, description, skills, GitHub URL, demo URL, image URL, and user/owner id.
GET
https://secure-badlands-85742.herokuapp.com/api/projects/:project_id
https://secure-badlands-85742.herokuapp.com/api/projects/2
Used to update requested projects's name, description, skills, GitHub URL, demo URL, and image URL.
PATCH
https://secure-badlands-85742.herokuapp.com/api/projects/:project_id
https://secure-badlands-85742.herokuapp.com/api/projects/2
content-type: application/json authorization: bearer
Used to delete requested project.
DELETE
https://secure-badlands-85742.herokuapp.com/api/projects/:project_id
https://secure-badlands-85742.herokuapp.com/api/projects/2
authorization: bearer
Responds with requested user's portfolio data, including the user's id, username, full name, title, bio, profile picture, theme color, banner image, GitHub URL, LinkedIn URL, email address, and projects.
GET
https://secure-badlands-85742.herokuapp.com/api/portfolio/:user_name
https://secure-badlands-85742.herokuapp.com/api/portfolio/chucknorris