Giter Club home page Giter Club logo

high-backend's Introduction

High-Backend

Table of Contents

  1. Overview
  2. Prototype
  3. Product Spec
  4. PostgreSQL
  5. Postman

Overview

Description

XMind

01

App Evaluation

  • Category:
  • Story:
  • Market:
  • Habit:
  • Scope:

Prototype

Draw

Screenshot 2023-06-16 at 11 17 59 Screenshot 2023-06-16 at 11 17 52

Kap

Login.process.mp4
Demo2.mp4

Product Spec

1. User Profile

  • UserRoles: Defines the various roles within the application such as "Athlete", "Coach", and "Administrator".
  • Users: Contains the user's basic profile data, including username, email, phone number, role, profile image, community page URL, profile visibility, timezone, display name, title, personal info, and visibility to all members. It also contains a user's LinkedIn-style bio, past experiences, and other relevant information.
  • Followers: Allows for tracking follower relationships between users, similar to LinkedIn's connection system.
  • BlockedMembers: Tracks any blocked members for a particular user.
  • Subscriptions: Contains any subscription details related to the user.
  • Orders: Tracks any orders placed by the user.
  • Addresses: Stores user's address details.
  • Wallet: Holds information about the user's virtual wallet balance.
  • Bookings: Contains any bookings made by the user.
  • UserUniversity: Stores the association between users and their universities.

2. Screen Archetypes

  • Login/Register
    • User can create an account
    • User can log in
    • User can sign up
  • User Profile
    • User can view and edit their own profile with all existing posts, images, and reviews
      • Detailed Posts Page
      • Images Only Page
      • Endorsements and Recommendations
  • Coach Profile
    • Users can view coach profiles, including posts by other users and average star rating
    • Users can endorse or recommend a coach
  • Community Page
    • Users can interact with the community by viewing shared content, commenting, and liking posts
  • Messaging
    • Users can send and receive messages, allowing communication between coaches and athletes
  • Connections
    • Users can send, accept, or decline connection requests
  • Scholarship Opportunities
    • Users can view and apply for scholarship opportunities
    • Coaches can post scholarship opportunities

3. Navigation

Tab Navigation (Tab to Screen)

  • Home
  • Explore
  • Resources
  • Connection
  • Me (User Profile)

Flow Navigation (Screen to Screen)

  • Login/Register
    • Home Feed
  • Home Feed
    • Coach Profile or User Profile
  • User Profile
    • Settings
    • Profile Edit
    • My Network (Followers and Following)
    • Wallet
    • Addresses
    • Role (UserRoles)
    • My Posts
    • My Bookmarks
  • My Network
    • Search for connections
    • View connection's profile
  • Scholarships
    • Search for scholarships
    • View scholarship details
    • Apply for a scholarship
  • Messaging
    • Compose message
    • View message thread
  • Notifications
    • View notification details
  • Me (User Profile)
    • Edit profile
    • View My posts
    • View My bookmarks
    • View and edit settings

PostgreSQL

Screenshot 2023-07-30 at 12 32 13 https://dbdiagram.io/d/649a3f9a02bd1c4a5e1ae74c

Details

Table: Blogs

Column Name Type Description
id SERIAL PRIMARY KEY Unique ID for the blog
title VARCHAR(255) Title of the blog
content TEXT Content of the blog
author_id INT REFERENCES Users(id) Author's User ID
type VARCHAR(255) Type of the blog
image_url VARCHAR(255) URL of the blog image
views_count INT DEFAULT 0 Views of this blog
likes_count INT DEFAULT 0 Likes of this blog
created_at TIMESTAMP DEFAULT now() Time when the blog was created
updated_at TIMESTAMP DEFAULT now() Time when the blog was last updated

Table: Comments

Column Name Type Description
id SERIAL PRIMARY KEY Unique ID for the comment
blog_id INT REFERENCES Blogs(id) ID of the blog
user_id INT REFERENCES Users(id) ID of the user who commented
comment TEXT Comment text
created_at TIMESTAMP DEFAULT now() Time when the comment was created
updated_at TIMESTAMP DEFAULT now() Time when the comment was updated

Table: Scholarships

Column Name Type Description
id SERIAL PRIMARY KEY Unique ID for the scholarship
university_id INT REFERENCES Universities(id) ID of the university
type VARCHAR(255) Type of the scholarship
description TEXT Description of the scholarship
application_link VARCHAR(255) Application link for the scholarship
prize DECIMAL(10,2) Prize amount for the scholarship
country VARCHAR(255) Country of the scholarship
success_rate DECIMAL(5,2) Success rate of the scholarship
image_url VARCHAR(255) Image URL of the scholarship
video_url VARCHAR(255) Video URL of the scholarship
created_id INT REFERENCES Users(id) ID of the user who created the scholarship record

Table: Users

Column Name Type Description
id SERIAL PRIMARY KEY Unique ID for the user
username VARCHAR(255) UNIQUE NOT NULL User's username
password VARCHAR(255) NOT NULL User's password
firstname VARCHAR(255) User's first name
lastname VARCHAR(255) User's last name
birthday DATE User's birthday
email VARCHAR(255) UNIQUE NOT NULL User's email
role VARCHAR(255) NOT NULL User's role
phone VARCHAR(255) User's phone number
avatar_url VARCHAR(255) URL of the user's avatar
profile_image VARCHAR(255) URL of the user's profile image
community_page_url VARCHAR(255) URL of the user's community page
profile_visibility BOOLEAN DEFAULT false Whether the user's profile is visible
time_zone VARCHAR(255) User's time zone
display_name VARCHAR(255) User's display name
education TEXT User's education details
is_visible_to_all_members BOOLEAN DEFAULT false Whether the user is visible to all members
other_links JSONB Other links related to the user
about_me TEXT Information about the user
interested_in_coaches JSONB Coaches the user is interested in
interested_in_athletes JSONB Athletes the user is interested in

Table: UserExperiences

Column Name Type Description
id SERIAL PRIMARY KEY Unique ID for the experience
user_id INT REFERENCES Users(id) ID of the user
title VARCHAR(255) Title of the experience
description TEXT Description of the experience
start_date DATE Start date of the experience
end_date DATE End date of the experience
is_current BOOLEAN DEFAULT false Whether the experience is current

Table: Followers

Column Name Type Description
id SERIAL PRIMARY KEY Unique ID for the follower
user_id INT REFERENCES Users(id) ID of the user
follower_id INT REFERENCES Users(id) ID of the follower

Table: UserImages

Column Name Type Description
id SERIAL PRIMARY KEY Unique ID for the image
user_id INT REFERENCES Users(id) ID of the user
image_url VARCHAR(255) URL of the image

Table: UserVideos

Column Name Type Description
id SERIAL PRIMARY KEY Unique ID for the video
user_id INT REFERENCES Users(id) ID of the user
video_url VARCHAR(255) URL of the video

Table: Universities

Column Name Type Description
id SERIAL PRIMARY KEY Unique ID for the university
name VARCHAR(255) Name of the university
details TEXT Details about the university
official_link VARCHAR(255) Official link of the university
intro_image_url VARCHAR(255) URL of the university's introductory image
thumbnail_url VARCHAR(255) URL of the university's thumbnail image
scholarships_link VARCHAR(255) Link to university's scholarships page

Table: Messages

Column Name Type Description
id SERIAL PRIMARY KEY Unique ID for the message
sender_id INT REFERENCES Users(id) ID of the message sender
receiver_id INT REFERENCES Users(id) ID of the message receiver
content TEXT Content of the message
created_at TIMESTAMP DEFAULT now() Time when the message was created

Digital Wireframes & Mockups

Interactive Prototype

Postman

https://grey-sunset-457798.postman.co/workspace/Team-Workspace~9f18450a-889f-46e8-8c86-4725b41b6a4d/overview Screenshot 2023-07-05 at 15 49 59 Here's a table with http status codes and descriptions:

Status Code Description
200 OK: The request was successful.
201 Created: The request was successful, and a resource was created as a result.
204 No Content: The server successfully processed the request, but is not returning any content.
301 Moved Permanently: The URL of the requested resource has been changed permanently.
302 Found: The server has found a temporary redirection.
400 Bad Request: The server could not understand the request due to invalid syntax.
401 Unauthorized: The request requires user authentication.
403 Forbidden: The server understood the request, but is refusing to fulfill it.
404 Not Found: The server can't find the requested resource.
405 Method Not Allowed: The method specified in the request is not allowed.
500 Internal Server Error: The server encountered an unexpected condition.
502 Bad Gateway: The server received an invalid response from the upstream server.
503 Service Unavailable: The server is currently unavailable (because it is overloaded or down for maintenance).
504 Gateway Timeout: The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.

high-backend's People

Contributors

lemonshark05 avatar tingxuanlin avatar huimin22 avatar

Stargazers

 avatar

Watchers

Mario Lim avatar  avatar

high-backend's Issues

Back-end: Scholarships API(include page check)

Complete the CRUD functions of Scholarships, and use Postman for testing. Call the SQL query of the ORM structure to complete the back-end interface and complete the API documentation.

Back-end: Follower API

Complete the CRUD functions of follower and followed, and use Postman for testing. Call the SQL query of the ORM structure to complete the back-end interface and complete the API documentation.

Back-end: the Google OAuth2.0 login in API

User ----(click login)----> Server ----(redirect to Google with client_id, scope, and redirect_uri)----> Google
User <----(request for permissions)---- Google
User ----(grant permissions)----> Google ----(redirect to Server with code)----> Server
Server ----(exchange code for access token using client_secret)----> Google
Server <----(access token)---- Google
Server ----(request user info using access token)----> Google
Server <----(user info)---- Google
Server ----(redirect to application)----> User

Back-end: University and Blog API

Complete the CRUD functions of University and Blogs, and use Postman for testing. Call the SQL query of the ORM structure to complete the back-end interface and complete the API documentation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.