Giter Site home page Giter Site logo

bobboteck / qso-map-generator Goto Github PK

View Code? Open in Web Editor NEW
4.0 3.0 2.0 1.87 MB

A tool for generating the necessary files, for viewing a map and the position of the connected stations, on your website

Home Page: https://bobboteck.github.io/app/qso-map-generator/index.html

License: GNU Affero General Public License v3.0

HTML 4.87% CSS 1.85% TypeScript 93.29%
radioamateur qso qth map leaflet openstreetmap react

qso-map-generator's Introduction

QSO Map generator

Actually work in progress, is an application to generate data file, HTML and Javascript, to include an interactive Map of QSO in an WEB page.

At this link https://bobboteck.github.io/app/qso-map-generator/index.html, you can see a preview version of the Application, I update here the App every time I add a new feature.

MAP

But why I work on this project? In my old website I use a picture of map, where was reported my position and the position of the stations connected on a specific occasion, tipically SOTA activations. Now in new and more modern website, I think that a more interactive map is the best solution. Based on this idea, and taking inspiration from others sites that use maps, I made first prototype that insert data in map from information stored in Javascript code. This is not a good solution, use code to store data is bad idea, I need a component that can be reused easily in more page of my site, so I chose to use an exrernal JSON file to store the data.

You can see an example of the final result in this page of my web site, where I wrote the data file manually.

Example of use in the web page

The purpose of this application is to facilitate the writing of the data file and to provide a preview tool before inserting everything into the website.

Developing

Application was made with React, TypeScript and Bootstrap.

It uses data map from Open Street Map, the Leaflet library to manage the map and Stamen's open source tiles. In this application the React Leaflet library is used, just to be able to use it with React.

Any suggestions or supports are welcome!

Datafile structure

This is the latest version of data structure of JSON file.

{
    "MapConfig":
    {
        "Latitude": 42.1039,
        "Longitude": 12.8667,
        "Zoom": 5
    },
    "QTH": 
    {
        "Latitude": 42.1039,
        "Longitude": 12.8667,
        "Locator": "JN62kc",
        "isPortable": true,
        "Location": "<b>Monte Pellecchia</b> 1368 m",
        "References": 
        [
            {
                "Code": "I/LZ-042",
                "Type": "SOTA"
            },
            {
                "Code": "I-0713",
                "Type": "POTA"
            }
        ]
    },
    "Equipment":
    {
        "Radios":
        [
            {
                "Brand": "Yaesu",
                "Model": "FT-817",
                "PowerSupply": "Lead acid 12V 7Ah"
            }
        ],
        "Antennas":
        [
            {
                "Brand": "Home made",
                "Model": "folded dipole",
                "Other": ""
            }
        ]
    },
    "QSOs":
    [
        {
            "Call": "IU0PHY",
            "Latitude": 41.938,
            "Longitude": 12.542,
            "Locator": "JN61gw",
            "QRB": 33,
            "Band": "6m",
            "Frequency": "50145",
            "Mode": "SSB",
            "RSTr": 59,
            "RSTs": 59,
            "TxPower": 0.5,
            "RxPower": 0,
            "UtcTime": "2022-02-13T10:43:00Z",
            "Note": ""
        }
    ]
}

qso-map-generator's People

Contributors

bobboteck avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

qso-map-generator's Issues

Create a new component to insert Radio data

Add in component:

  • form container
  • field for Radio brand, Text 20 required
  • field for Radio model, Text 20 required
  • field for Radio power supply, Text 60
  • button to Add Radio information
  • list to show all the radio added, implement remove button for each item

Validation patterns

Define validation patterns for fields:

  • RSTr
  • RSTs
  • Locator
  • #8
  • Note (exclude chars like " ' : { } ( ) [ ] ; )
  • Location
  • Refrence code

This field are present in the QTH, Equipment and Form tab, in addition to validation, users must also be prevented from entering non-congruent characters

Download JSON data file

Implement a functionality to download, with a button pressure action, the JSON file with data insert into the application

Create a new component to insert Antenna data

Add in component:

  • form container
  • field for Antenna brand, Text 20 required
  • field for Antenna model, Text 20 required
  • field for other Antenna information, Text 60
  • button to Add Antenna information
  • list to show all the Antennas added, implement remove button for each item

Implement component for insert equipment data

Create new component to insert equipment data, it do be placed in the specific tab of application.

  • Modify the layout of the application to accommodate the two new components
  • #9
  • #10
  • Add radio component
  • Add antenna component
  • Integrate the equipment data into the export object

Locator in QTH form

In this form there isn't a submit function, and the code need to check programmatically if the sctring writed is valid or not, and give feedback to the user when it write some chars

Download HTML file

Add a functionality to download a usable HTML file, with the JSON data file, to provide users with the ability to select which data to show in pop-ups

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.