Basic client and server application with users administration #1

Open
opened 2025-09-09 20:06:43 +05:00 by pztrn · 0 comments
Owner

This epic tracks development tasks for implementing basic client-server architecture, as well as basic user administration.

Client should be:

  1. Cross-platform - runnable on all major desktop and mobile OSes.
  2. Translatable - we should be able to translate interface to different languages.
  3. Enchanceable - adding new functionality should not pose any problem.

Server should be:

  1. Cross-platform - runnable on all major desktop OSes. Mobile OSes here isn't an option as server will be a heavy thing that requires public IP.
  2. Configurable via admin interface - the only thing that reside in any kind of configuration is a database DSN.
  3. Enchanceable - adding new functionality should not pose any problem.

Client-server communication should:

  1. Use HTTP as basic transport - server should not implement own low-level protocols for communication.
  2. Use websockets for real-time communication - HTTP itself is a stateless protocol, but client connection will eventually need it's own state for realtimeness.
  3. Use JSON as real-time data format.
  4. Use separate HTTP requests for file loading - binary data should not come via websockets.

For now we will assume that there is only one user with administrator privileges.

Installator should:

  1. Be available only via special access token. System should realize that it isn't installed yet and request installation starting token from user after logging in.
  2. Be enchanceable - server should control installation flow.
  3. Be resumable - if something will went wrong (e.g. network connection disappeared) installation should be reinstated from last step user was on.

Tasks in epic:

  • #2 - Cross-platform, translatable client.
  • #3 - Cross-platform server.
  • #4 - Client-server communication.
  • #5 - Users management via client interface.
  • #6 - Ability to log in.
  • #7 - User state keeping and restoration.
  • #8 - Installator.
This epic tracks development tasks for implementing basic client-server architecture, as well as basic user administration. Client should be: 1. **Cross-platform** - runnable on all major desktop and mobile OSes. 2. **Translatable** - we should be able to translate interface to different languages. 3. **Enchanceable** - adding new functionality should not pose any problem. Server should be: 1. **Cross-platform** - runnable on all major desktop OSes. Mobile OSes here isn't an option as server will be a heavy thing that requires public IP. 2. **Configurable via admin interface** - the only thing that reside in any kind of configuration is a database DSN. 3. **Enchanceable** - adding new functionality should not pose any problem. Client-server communication should: 1. **Use HTTP as basic transport** - server should not implement own low-level protocols for communication. 2. **Use websockets for real-time communication** - HTTP itself is a stateless protocol, but client connection will eventually need it's own state for realtimeness. 3. **Use JSON as real-time data format**. 4. **Use separate HTTP requests for file loading** - binary data should not come via websockets. For now we will assume that there is only one user with administrator privileges. Installator should: 1. **Be available only via special access token**. System should realize that it isn't installed yet and request installation starting token from user after logging in. 2. **Be enchanceable** - server should control installation flow. 3. **Be resumable** - if something will went wrong (e.g. network connection disappeared) installation should be reinstated from last step user was on. --- Tasks in epic: - #2 - Cross-platform, translatable client. - #3 - Cross-platform server. - #4 - Client-server communication. - #5 - Users management via client interface. - #6 - Ability to log in. - #7 - User state keeping and restoration. - #8 - Installator.
pztrn added the
Kind
Epic
label 2025-09-09 20:06:55 +05:00
pztrn added this to the 0.1.0 milestone 2025-09-09 20:06:57 +05:00
Sign in to join this conversation.
No description provided.