Sen descrición

fiffty-50 4b8b2b0b12 created dbAircraft class, added documentation and adjusted calls to functions %!s(int64=4) %!d(string=hai) anos
dbpopulation ca32396f5c Updated Airports %!s(int64=4) %!d(string=hai) anos
screenshots 740c11936c screenshots added %!s(int64=4) %!d(string=hai) anos
themes f06e779bdb removed backgroud image %!s(int64=4) %!d(string=hai) anos
.gitignore 7ebdd32bcf edited gitignore %!s(int64=4) %!d(string=hai) anos
LICENSE e73e32fb70 Create LICENSE %!s(int64=4) %!d(string=hai) anos
README.md cf2e4416d1 Edited README %!s(int64=4) %!d(string=hai) anos
calc.cpp 25afea94b9 added licensing information %!s(int64=4) %!d(string=hai) anos
calc.h 25afea94b9 added licensing information %!s(int64=4) %!d(string=hai) anos
dbaircraft.cpp 4b8b2b0b12 created dbAircraft class, added documentation and adjusted calls to functions %!s(int64=4) %!d(string=hai) anos
dbaircraft.h 4b8b2b0b12 created dbAircraft class, added documentation and adjusted calls to functions %!s(int64=4) %!d(string=hai) anos
dbairport.cpp 25afea94b9 added licensing information %!s(int64=4) %!d(string=hai) anos
dbairport.h 25afea94b9 added licensing information %!s(int64=4) %!d(string=hai) anos
dbflight.cpp 25afea94b9 added licensing information %!s(int64=4) %!d(string=hai) anos
dbflight.h 25afea94b9 added licensing information %!s(int64=4) %!d(string=hai) anos
dbman.cpp 4b8b2b0b12 created dbAircraft class, added documentation and adjusted calls to functions %!s(int64=4) %!d(string=hai) anos
dbpilots.cpp 25afea94b9 added licensing information %!s(int64=4) %!d(string=hai) anos
dbpilots.h 25afea94b9 added licensing information %!s(int64=4) %!d(string=hai) anos
dbsettings.cpp 25afea94b9 added licensing information %!s(int64=4) %!d(string=hai) anos
dbsettings.h 25afea94b9 added licensing information %!s(int64=4) %!d(string=hai) anos
dbstat.cpp 2c5f723738 changed data type of setting_id to int in all functions %!s(int64=4) %!d(string=hai) anos
dbstat.h 25afea94b9 added licensing information %!s(int64=4) %!d(string=hai) anos
easaview.cpp 5524ea06c5 uploaded %!s(int64=4) %!d(string=hai) anos
easaview.h 5524ea06c5 uploaded %!s(int64=4) %!d(string=hai) anos
easaview.ui 5524ea06c5 uploaded %!s(int64=4) %!d(string=hai) anos
editflight.cpp 4b8b2b0b12 created dbAircraft class, added documentation and adjusted calls to functions %!s(int64=4) %!d(string=hai) anos
editflight.h 5524ea06c5 uploaded %!s(int64=4) %!d(string=hai) anos
editflight.ui 5524ea06c5 uploaded %!s(int64=4) %!d(string=hai) anos
homewidget.cpp 25afea94b9 added licensing information %!s(int64=4) %!d(string=hai) anos
homewidget.h 25afea94b9 added licensing information %!s(int64=4) %!d(string=hai) anos
homewidget.ui d24070ee02 added statistics functionality to HomeWidget %!s(int64=4) %!d(string=hai) anos
logbook.db e5c438d5f9 added new setting %!s(int64=4) %!d(string=hai) anos
logbook_empty.db a78e5b9424 An empty database without sample flights. %!s(int64=4) %!d(string=hai) anos
logbookwidget.cpp 25afea94b9 added licensing information %!s(int64=4) %!d(string=hai) anos
logbookwidget.h 25afea94b9 added licensing information %!s(int64=4) %!d(string=hai) anos
logbookwidget.ui 925d600be9 created dbPilots class and migrated functions %!s(int64=4) %!d(string=hai) anos
main.cpp 2c5f723738 changed data type of setting_id to int in all functions %!s(int64=4) %!d(string=hai) anos
mainwindow.cpp f04ff3f9cb crated dbAirport class and updated functions %!s(int64=4) %!d(string=hai) anos
mainwindow.h f04ff3f9cb crated dbAirport class and updated functions %!s(int64=4) %!d(string=hai) anos
mainwindow.ui f04ff3f9cb crated dbAirport class and updated functions %!s(int64=4) %!d(string=hai) anos
newacft.cpp 4b8b2b0b12 created dbAircraft class, added documentation and adjusted calls to functions %!s(int64=4) %!d(string=hai) anos
newacft.h 4b8b2b0b12 created dbAircraft class, added documentation and adjusted calls to functions %!s(int64=4) %!d(string=hai) anos
newacft.ui dd6e789785 Add files via upload %!s(int64=4) %!d(string=hai) anos
newflight.cpp 4b8b2b0b12 created dbAircraft class, added documentation and adjusted calls to functions %!s(int64=4) %!d(string=hai) anos
newflight.h 4b8b2b0b12 created dbAircraft class, added documentation and adjusted calls to functions %!s(int64=4) %!d(string=hai) anos
newflight.ui 6ccc77ebd4 added label for flightnumber prefix %!s(int64=4) %!d(string=hai) anos
openLog.pro 4b8b2b0b12 created dbAircraft class, added documentation and adjusted calls to functions %!s(int64=4) %!d(string=hai) anos
settingswidget.cpp 25afea94b9 added licensing information %!s(int64=4) %!d(string=hai) anos
settingswidget.h 25afea94b9 added licensing information %!s(int64=4) %!d(string=hai) anos
settingswidget.ui 4afd328c85 implemented theming setting signal/slot %!s(int64=4) %!d(string=hai) anos
showaircraftlist.cpp dd6e789785 Add files via upload %!s(int64=4) %!d(string=hai) anos
showaircraftlist.h dd6e789785 Add files via upload %!s(int64=4) %!d(string=hai) anos
showaircraftlist.ui dd6e789785 Add files via upload %!s(int64=4) %!d(string=hai) anos

README.md

openPilotLog

Airline pilots are required to maintain a logbook containing details of their flights. These logbooks were historically written by hand on paper, but of course nowadays more and more people are doing it electronically, be it in their own excel sheet or using a professional logbook software.

I have used professional solutions for many years, and have seen more and of them move from being a one-time purchase to becoming a "Logbook as a Service" type subscription. After the one I have been using for the last couple of years, and had bought a "lifetime license" for ended up announcing they also moved to a subscription based service, I decided that I've had enough of it.

As a long-time FOSS enthusiast, I wondered why there wasn't a good open and free alternative available, so I decided to create my own. Since I have used and benefited from free and open source software for a long time, I decided to also create this project as FOSS.

All that being said, while I know how to fly an aircraft, I never properly learned how to code, so if you are a professional programmer and your eyes are bleeding from what you're seeing or I am doing something immensely stupid, please do let me know! This project is my way of learning how to code, so I am more than open to feedback.

What are the design principles of this program?

Code: C++ (Qt5)

Database: sqlite3

This program is suppposed to replace a paper logbook with an electronic version. As a first step, I want to focus on the basics, and then add 'nice-to-haves' later. These are the guidelines for this project:

  • Speed: openPilotLog is supposed to be fast, lean and efficient. I have settled on using the Qt framework for the gui and code, as well as sqlite for the database.
  • Cross-Platform Support: I am primarily using Linux, but Windows and Mac (and maybe down the road iOS/Android) should also be supported. Qt provides this cross-platform compatibility.
  • Local: At the moment, I am not planning on implementing a cloud-sync solution. The database is local, on your machine, and moving it around should be as easy as copying it onto a USB stick. While I am not opposed to cloud syncing functionality, I want the application to be independent of external services.

The state of the project - Should I use this?

Clear answer for the time being - Don't use it. This is an early development stage and functionality, layout of the GUI etc. might change drastically. For this reason, I am not providing a release for now.

'x' is a terrible idea, don't do that!

As mentioned before, feedback is welcome and invited! If you know of a better way of doing something, this is an open project so feel free to contribute!

How does it look like?

Here are some early screenshots:

Alt Screenshot 1

Alt Screenshot 2

But I want to try it!

Well, you have been warned... The most straight forward way is to get a copy of Qt https://www.qt.io/download and compile the project using QtCreator and qmake, the PRO file is included in this repository. After building, make sure to place a copy of the sample database in the application folder (not the source folder). If you want to start a fresh logbook, delete the default database file and rename the empty sample database and place it in the application folder. Without a valid database, the application will not start.