Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Support
    • Submit feedback
  • Sign in / Register
B
Backend Server
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • SpinShare
  • Backend Server
  • Issues
  • #66

Closed
Open
Opened Oct 15, 2020 by SeeBeyond@seebeyond
  • Report abuse
  • New issue
Report abuse New issue

Detatch frontend from backend

The client and server UI are extremely similar give or take a few differences such as,

  • context menus (right click)
  • download queue
  • local settings
  • lack of authentication (client)
  • Translation inconsistency

Because of this, is would be mutually beneficial to the server, client, and UI teams to do the following

  1. Match the Vue templates with the templates on the server so we have every template in Vue
  2. Add conditional rendering statements to detect the environment (client, server)
  3. Create a new repository to hold front end UI
  4. convert existing Vue to a Single-Page Application for use on both client and server
  5. Have the server function as a headless API that the front end interacts with

Using this, we can have a unified UI for both the client and server. You only need to change something once for it to be reflected. Caveats to this method however include

  • Separate projects need to be opened when working on one feature (ex. playlist UI + playlist PHP code)
  • Additional build steps must be taken (but can be achieved with the use of node. Yarn, NPM, Webpack, etc.)
  • Deploying to the server requires the front end to be built as well. (can be solved by building on the dev side, and using git modules)
  • Discussion
  • Designs

The one place for your designs

To enable design management, you'll need to meet the requirements. If you need help, reach out to our support team for assistance.

Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
3
Labels
Code Server UI
Assign labels
  • View project labels
Reference: spinshare/server#66