Skip to content

Software Specifcations

BanjoFox edited this page Nov 7, 2017 · 4 revisions

Purpose:

Social media networks originated as ways to keep in touch with one another, and share ideas to a greater audience. It wasn't long before corporate entities began to realize that they could monetize on those connections. First with selling advertising space, then by selling user data. [Continue boiler-plate mission statement on privacy etc....]

Scope:

The initial scope of the project is to develop a prototype social networking application which will provide users with a familiar experience, but without having to worry about unwanted advertising or data collection.

Software Architecture Requirements:

The project will be written in the Rust language as it provides built-in security, with the speed and portability of C [etc... lang benefits]. The user interface will be written using the latest implementations of HTML, and CSS. Maximizing efficiency, and performance should take priority where possible.

Minimum Server Requirements

The application should be able to run on a Virtual Private Server (VPS) with the following minimum requirements:

  • Single Core
  • 512MB RAM
  • 20GB Disk Space
  • 200 concurrent users

There is a separate goal to be able to run the software on a non-VPS shared host, but is considered out of scope for the near term.

Authentication

The following authentication services should be available:

  • Basic/Server-based
  • OAuth
  • Indieauth

REST API

We should have a REST API, because REST seems to be a commonality.