Skip to content

Bassa: Developer Guide

Mehant Kammakomati edited this page Jun 25, 2020 · 8 revisions

Developer Guide

Bassa is an n-tier application that can serve users through dedicated Web, Android, and iOS clients.

Architecture


Bassa Architecture


Components

  • Bassa API server is implemented as a flask-socketio server written in Python.
  • Bassa web client is implemented using Angular written in JavaScript. (Moving to create-react-app very soon)
  • Bassa Android and iOS mobile clients are implemented using react native written in JavaScript.
  • Bassa uses MySQL 5.X as the database server.
  • Bassa uses Aria2c RPC server to download files.
  • Bassa can be used with Minio file storage server as a file system and also for storing files to Amazon S3 cloud storage.

Bassa File Management System

You can look into the permission-based file management system used in Bassa here

Server end-points

You can look into the Bassa API server end-points which are compiled here

Installation Guide

You can look at our Wiki page for the installation guide.

Running Tests

API Tests

  • Make sure the python server is working and you have an open connection to the database.
  • Open the python console in your terminal by running the command python3.
  • In the console that opens, import the test files, like so:
 from tests.Bassa_endpoint_test import *
 from tests.login_test import *

UI Tests

cd ui
npm test OR yarn test

Troubleshooting

In case if you are stuck up with any issues during the setup or usage, look into the troubleshooting list for help or file a new issue on the project repository.

other resources

git best practices

Here are the some best practices that can be followed while working on this project.

Using Prettier

Prettier is an amazing tool for making codes look pretty. You can set up Prettier on your favorite IDE, check the below links.

Find more plugins here