GithubHelp home page GithubHelp logo

olkitu / mobilespectrum Goto Github PK

View Code? Open in Web Editor NEW
11.0 3.0 16.0 3.57 MB

Mobile spectrum allocation website

Home Page: https://mobilespectrum.org

License: GNU Affero General Public License v3.0

Dockerfile 0.81% JavaScript 3.49% TypeScript 66.73% CSS 4.16% HTML 24.42% Shell 0.38%

mobilespectrum's Introduction

MobileSpectrum

MobileSpectrum is OpenSource website showing many different contries mobile spectrum allocations.

Environments

Production: https://mobilespectrum.org

Build and Deploy to production

Install Docker: https://docs.docker.com/get-docker/

Clone Repository

git clone https://github.com/olkitu/Mobilespectrum.git

Docker

Use Docker and Docker Compose to set up production enviroment.

docker build -t olkitu/mobilespectrum .

The site will available on port 4000.

Without Docker

Requirements:

  • NodeJS 16.13
  • Angular CLI
  • Yarn

Use yarn to build Node modules and build to production

yarn
ng build --configuration production

And copy static dist/MobileSpectrum to webserver root directory.

Development

We recommend use Gitpod to setup development enviroment. You can also install it to locally.

Full Documentation: https://docs.mobilespectrum.org/

Gitpod

Just click below to start development in Gitpod. You must register to service with your Gitlab account.

Gitpod ready-to-code

Docker

Build, install Node-modules and start dev environment. The first setup will take time because node_modules will be installed to persistent volume.

docker-compose build
docker-compose up -d

You can then modify files locally and see changes via browser http://localhost:4200

If you like to reinstall node_modules, stop Docker with -v parameter to remove persistent volume.

docker-compose down -v

NodeJS locally

Requirements:

  • NodeJS 16.13
  • Angular CLI
  • Yarn

Run yarn to install Node-modules

Development server

Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Code scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

Running unit tests

Run ng test to execute the unit tests via Karma.

Running end-to-end tests

Run ng e2e to execute the end-to-end tests via Protractor.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI Overview and Command Reference page.

mobilespectrum's People

Contributors

avataranedotas avatar gabrielesammartino avatar handymenny avatar ivaylobelchev avatar jake-cryptic avatar jeffreykog avatar juusujanar avatar kebabmaster2 avatar kensoft avatar lightspeed2398 avatar netadvisor avatar okaestne avatar olkitu avatar parfrost avatar snyk-bot avatar taras-mrtn avatar yurguis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

mobilespectrum's Issues

Automatic testing of country data

From: https://gitlab.com/mobilespectrum/MobileSpectrum/-/issues/6

Currently there are very little checks for country data, it may be useful to implement:

Frequency type checking

If type is SDL / SUL / TDD, are uplink / downlink values the same?
If type is FDD, are uplink and downlink bandwidths same width? Are there exceptions?

Bandwidth checking

No negative bandwidth values

ARFCN checking

Are ARFCN values outside of ranges for that band?

[Security] Workflow main.yml is using vulnerable action actions/checkout

The workflow main.yml is referencing action actions/checkout using references v1. However this reference is missing the commit a6747255bd19d7a757dbdda8c654a9f84db19839 which may contain fix to the some vulnerability.
The vulnerability fix that is missing by actions version could be related to:
(1) CVE fix
(2) upgrade of vulnerable dependency
(3) fix to secret leak and others.
Please consider to update the reference to the action.

Sitemap

Improve SEO - build sitemap automatically from JSON file path's and names every deploy.

JSON enhancement to reduce duplication and errors

Is your feature request related to a problem? Please describe.
It is common for the same providers to own spectrum in multiple different blocks in many different frequency bands. Each time, we must currently re-define the provider information, this increases data duplication, makes the schema files longer and harder to read and increases the likelihood of errors.

Describe the solution you'd like
Each country should also have a defined list of providers and a key associated with each unique provider, then in the spectrum file we should reference the key of the provider.

Example of src/data/operators/united_kingdom.json

{
  "ee_uk": {
	"name": "EE",
	"longName": "Everything Everywhere",
	"homePage": "https://ee.co.uk",
	"backgroundColor": "#007b85",
	"textColor": "white"
  }
}

Then to reference a provider in src/data/countries/united_kingdom.json we use the key defined in the operator file:

[
  {
	"band": 67,
	"providers": [
	  {
		"provider": "ee_uk",
		"frequency": {
		  "downLink": {
			"start": 738,
			"end": 758
		  }
		},

To allow for backwards compatibility we can check the type of the "providers" key to see if it is a string, if so, we check for an operators schema file and then find the operator data.

This will have the advantage of only needing to change one file to update data for an operator rather than updating multiple entries to change an operators colour for instance.

Please let me know your thoughts

Support for historical data

From: https://gitlab.com/mobilespectrum/MobileSpectrum/-/issues/4

Frequency allocations change over time as new operators enter markets or just due to re-allocation by regulator.
There should be a way to enter historical data for each band, showing the date of the change taking effect as well as allowing notes as to why the change occurred (e.g. 25MHz swapped from operator A to B due to re-allocation by regulator)

Prerender website components

Prerender all website pages to improve website SEO. This also improve support on legacy browser and make site loading faster when no need wait javascript.

  • Prerender enabled
  • Prerender all subpages

Spectrum Sharing

From: https://gitlab.com/mobilespectrum/MobileSpectrum/-/issues/8

In Thailand, Spectrum is shared among multiple providers such as B40 60 MHz is shared between dtac and NT with 60/40 airtime. NT is the spectrum owner, but dtac is responsible for tower deployment. It would be nice if we can list both providers on the same slot and color the slot in the way that people understand that it's frequency sharing.

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.