Giter VIP home page Giter VIP logo

magicbug / cloudlog Goto Github PK

View Code? Open in Web Editor NEW
427.0 34.0 186.0 33.91 MB

Web based amateur radio logging application built using PHP & MySQL supports general station logging tasks from HF to Microwave with supporting applications to support CAT control.

Home Page: http://www.cloudlog.co.uk

License: MIT License

PHP 72.51% HTML 0.09% CSS 1.33% JavaScript 25.95% XSLT 0.03% Hack 0.03% Shell 0.05% Dockerfile 0.01%
cloudlog ham-radio amateur-radio php logging qso qsl web-based-logger

cloudlog's Introduction

Cloudlog

Important: Only accepting PRs on the "dev" branch.

Cloudlog is a self-hosted PHP application that allows you to log your amateur radio contacts anywhere. All you need is a web browser and active internet connection.

While Cloudlog as started by Peter Goodhall, 2M0SQL, it is has gained a core group of contributors these are listed below. If you would like to contribute to Cloudlog please see the Contributing section below.

Core Contributors: 2M0SQL (@magicbug), LA8AJA (@AndreasK79), DF2ET (@phl0), HB9HIL (@HB9HIL), DJ7NT (@int2001)

Website: http://www.cloudlog.co.uk

Requirements

  • Linux based Operating System
  • Apache (Nginx should work)
  • PHP Version 7.4 (PHP 8.2 works)
  • MySQL (MySQL 5.7 or higher)

Notes

  • If you want to log microwave QSOs you will need to use a 64bit operating system.
  • We do not provide Docker support, however you are free to use it if you wish but we will not handle support.

Setup

Installation information can be found on the wiki.

Docker Development Environment

This guide provides instructions for setting up a local development environment using Docker and Docker Compose. Please note that this setup is not recommended for production use.

Prerequisites

Before you begin, you need to install Docker and Docker Compose. You can download them using the following links:

Configuration

  1. Copy the .env.sample file to .env:

    cp .env.sample .env
  2. Open the .env file and update the values to match your setup. The values from the .env file will be used to populate the database connection details on the install page. You should not need to change these unless your setup requires different values.

    Note: Docker Compose creates a network for your application, and each service (container) in the Docker Compose file can reach each other via the service name. This is why the DB_HOST value in the .env file and on the install page should match the service name of the database in the docker-compose.yml file. For example, if the database service in docker-compose.yml is defined as db, then DB_HOST should be set as 'db'. This allows the application to communicate with the database service on its internal docker network.

Starting the Development Environment

To start the development environment, run the following command in your terminal:

docker-compose up

Running Cypress Tests Locally

Follow these steps to run the Cypress tests locally on your machine:

  1. Clone the repository

    If you haven't already, clone the repository to your local machine

  2. Setup .env file

    Copy the sample .env file and adjust it to your local environment:

    cd your-repo
    cp .env.sample .env
  3. Build Docker services

    Build and start the Docker services:

    docker-compose up -d
  4. Install Cypress

    Navigate into the project directory and install Cypress:

    npm install cypress
  5. Run the Cypress tests

    After the installation is complete, you can run the Cypress tests:

    npx cypress run

Support

Cloudlog has two support systems for code issues use Github issues, however if you have general issues with setting up your server please use our general discussion forum https://github.com/magicbug/Cloudlog/discussions.

Security Vulnerabilities

If you discover a security vulnerability within Cloudlog, please send an e-mail to Peter Goodhall, 2M0SQL via [email protected]. All security vulnerabilities will be promptly addressed.

Want Cloudlog Hosting?

If you would prefer not to setup Cloudlog yourself magicbug offer hosted solutions, this is priced at £4 a month at the moment and they take care of keeping it updated.

Contributing

If you would like to contribute in any way to Cloudlog, it is most appreciated. This has been developed in free time, help coding new features or writing documentation is always useful.

Please note that Cloudlog was built using Codeigniter version 3 and uses Bootstrap 4 for the user CSS framework documentation is available for this when building components.

When submitting PRs please make sure code is commented and includes one feature only, multiple features or bug fixes will not be accepted. Please include a description of what your PR does and why it is needed.

Credits

Thanks to Andy (VE7CXZ), Gavin (M1BXF), Graham (W5ISP), Robert (M0VFC), Corby (K0SKW), Andy (GI0VGV), Sarah (DM4NA), Tony (G0WFV), Kim (DG9VH), Michael (G7VJR), Andreas (LA8AJA), Matthias (DL9MJ), Thomas (DO2TWE), Pat (KT3PJ), Flo (DF2ET), Joerg (DJ7NT) and Fabian (HB9HIL) for contributing code or help to Cloudlog.

Patreons & Donors

Cloudlog is supported by Patreon and donations via PayPal, thanks to the following people:

Paul (M0TZO), Tim (G4VXE), Paul (N8HM), Michelle (W5NYV), Mitchell (AD0HJ), Dan (M0TCB), Martin (DK3ML), Juan Carlos (EA5WA), Iain (M0PCB), Charlie (GM1TGY), Ondrej (OK1CDJ), Trystan (G0KAY), Oliver (DL6KBG), Volkmar Schirmer, Jordan (M0PIR), Thomas Ziegler, Mathis (DB9MAT), Ken (VE3HLS), Tyler (WL7T), Jeremy Taylor, Ben Kuhn, Eric Thresher, Michael Cullen, Juuso (OH1JW), Anthony Castiglia, Fernando Ramirez-Ferrer, Robert Dixon, Mark Percival, Julia (KV1V), Timo Tomasini, Ant (NU1U), Christopher Williams, Danny Barnes, Vic, Tom (M0LTE), smurphboy, Lars (SM0TGU), Theo (PD9DP), Stefan (SM0RGM). Peter (G0ABI), Lou (KI5FTY), Michael (DG3NAB), Dragan (4O4A), minorsecond, Emily (W7AYQ), Steve (M0SKM), Rob (M0VFC), Doug (WA6L), Petr (OK1PKR), Fabian (HB9HIL), Daniel (OK2VLK), John (M5JFS).

If you'd like to donate to Cloudlog to help allow @magicbug spend less time doing commercial work and more time coding Cloudlog then you can donate via PayPal, Github Sponsor or become a Patreon

cloudlog's People

Contributors

abarrau avatar andreask79 avatar daccle avatar dg9vh avatar dj3ce avatar g0wfv avatar gmcintire avatar hb9hil avatar hugosilvaparagramanet avatar int2001 avatar iu2frl avatar izumichino avatar jsb2092 avatar kb-light avatar leroydiazg avatar m0urs avatar magicbug avatar manawyrm avatar nolith avatar nsnw avatar ofadam avatar oh1jw avatar onovy avatar patrickrb avatar phl0 avatar poll-busily avatar r1blh avatar skweeker avatar tamh avatar wvolz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cloudlog's Issues

Link to User Management

Need a way of accessing user area maybe a link in the footer? as it isn't a major section of logging

User Adding Error

When adding a user into fresh database get the following warning

Message: Use of undefined constant EPASSWORDINVALID - assumed 'EPASSWORDINVALID'

Message: Use of undefined constant EUSERNAMEEXISTS - assumed 'EUSERNAMEEXISTS'

Request: Acounts, different access levels.

Not sure if this is technically possible but it could be useful for a shared logbook, thinking the G3PYE, to have different level of access so certain logins can only enter logs, and modify those they entered.

Deleting a user gives Database Error

After logging in (as an Admin) and deleting another user (also an Admin) it appeared the user was deleted from the list however an message was above the list stating: 'Error deleting user from the database'. The deleted user was added again as an Editor without issue.

QRA Box too small

When entering a 6 digit QRA square into the QRA box the last digit is half outside the box.

QSLing Stats

Graphs

  • Cards Sent vs Received
  • Bureau vs Direct

Locator deleted if entered before callsign

Sometimes when scanning the band and coming across a station the first distinguishable thing heard is the locator, however if this is entered before the callsign it is deleted and needs to be re-entered.

Admin > Setup gives 404

Might not be an issue (if not please close) but Admin > Setup give Page 404 error:

404 Page Not Found
The page you requested was not found.

RX frequency incompatible with HRD

After connecting to the M1BXF logging database with HRD logbook, to edit an entry - the RX frequency was wrong (significantly).

QSO details from M1BXF online Logbook:
21/08/11 10:26 OH0/ON5UR SSB 59 59 6m

HRD shows the TX frequency as 6m but with no exact frequency (all blanked, not even 0's), as expected! However is shows the RX frequency as 1246.576.928, RX Band 23cm.

I checked other entries in HRD Logbook created with online Logger and they have the same issue with RX frequencies, all being 1246.576.928, RX Band 23cm.

Request: Batch Edit

Not a high priority request but it would be nice, for example if you have logged a few QSOs on the wrong band/mode, that it is possible to batch edit them. I've got no suggestion on how best to make the interface for this but I think it may require an improved search option...

As I say low priority :)

QSLing - Generate Labels

OK - This idea is a long shot.. but to be able to generate a set of QSL lables as a PDF based on cards marked as "Requested". I'm not sure the feasibility of this but would be nice to have.

Oh and the possibility to link a QR Code to list of past QSOs and grab that the cards been RX'd via ID or something :p

Request: This Weeks QSOs (past 7 days)

Could the map data which shows 'This Weeks QSOs' be changed to show the "Past 7 days QSO's" which looks at todays date (the date when a user views the Dashboard and then shows the QSOs 7 days in the past from this date?

Feature: Use Auth to Mark QSO to Login

As theres a field in the table, maybe we can use the logged in callsign to make each qso against that person good for multi person usage like club calls.

Feature: Update my locator simply

We found when using G3PYE/P that we could be in multiple locations and should log each entry with the correct G3PYE/P locator.

Maybe add it to the Station option in 'Add QSO'?. I know this can be updated under user however if a user is Editor only they can't access this setting.

Unable to update/add locator to entry

After having a QSO on 6m where the locator was not known I later found it but was unable to add it to the existing QSO as the option to update the locator is not on the edit screen...

Feature: Public Overview

Basic page which shows

  • Last worked stations
  • Freq or band you might be on
  • Map of the days QSOs
  • Link to Map of the Previous Day
  • Spots which might relate to the operator.

Which can then be used as a link on webpage, linked to from Twitter, Facebook, IRC

Request: You have had 0 QSOs Today!

Now that the Dashboard can be used for a public facing logbook, the comment 'You have had 0 QSOs Today!' is still shown when not logged in, which is not so relevant and is now possibly out of place? Maybe only show this to Editors and Admins who have logged in?

Feature: Contest Scoring Options

The following are the usual Scoring options (taken from SDV):

1= No Multipliers
2= District Multipliers
3= Country Multipliers
4= Square Multipliers
5= District & Country Multipliers
6= District & Square Multipliers
7= Country & Square Multipliers
8= District, Country & Square Multipliers

QSO can be entered twice on quick succession of return

Tonight Mark MJH managed to enter a QSO twice in the G6PYE logbook by [accidently] pressing return twice in quick succession which entered the same QSO twice in the log.

Not sure if this is a once off issue or not as we have not tried to reproduce...

Request: Mapped QSOs Options

On the Dashboard there is 'Todays Mapped QSOs', it would be nice to have options to select what to display on a map:

  • Show day, month or years worth of QSOs.
  • Start and End date.
  • Band(s)
  • Mode(s)
  • Wildcard.

Request: Button(s) to set default values

When operating I usually operate on the same mode on a band etc. It would handy to have buttons which could load a profile into the 'Add QSO' page such as one for 4m JT6m which would set Mode=JT6m, Band=4m, RST Sent=26, RST Recv=26 etc...

Request: QSL Info

Is it possible to have a way to signify if a QSL card have been received and sent. Possibly via the edit menu or separate page?

Request: Add map in 'View Log'

Is it possible to add a map to the bottom of the Logbook in the 'View Log' page showing pins for the 25 stations shown?

Thinking more from a visitor point of view where some of the log data could be presented with more detail...

Feature: Output contest log in ADIF format

The main thing needed with the contest log will be the ability to output it for submission to the contest adjudicators. The most useful for the main users would be RSGB .log format I guess.

<DXCC>/<Home Callsign> not recognised

I noticed after working 'F/DK8IJ' the country has been missed as it appears the F/ alone was not recognised as a French DXCC, in this case a German operating from France.

IOTA Field

Add IOTA Tab to store the IOTA Reference number.. This could be in the station tab?

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.