A web-based application for pilots to efficiently log flights, manage certifications, track training, and generate detailed reports. Built with Django and Bootstrap for reliability and ease of use.
- Features
- System Architecture
- Installation
- Usage
- Project Structure
- Database Schema
- Testing
- Contributing
- License
- Contact
- User Authentication: Secure registration, login, and password management.
- Flight Log Management: Add, edit, view, and delete flight records with details such as date, aircraft, route, duration, and remarks.
- Certification Tracking: Manage pilot certifications, including expiry reminders.
- Training Records: Log and review training sessions and outcomes.
- PDF Report Generation: Export flight logs and summaries as PDF documents.
- Responsive UI: Mobile-friendly interface using Bootstrap.
- Role-Based Access: Admin and pilot roles for different access levels.
- Error Handling: User-friendly error messages and form validation.
- Backend: Django 4.2 (Python 3.13)
- Frontend: Bootstrap 4, HTML5, CSS3, JavaScript
- Database: SQLite (default, can be switched to PostgreSQL/MySQL)
- PDF Generation: ReportLab or WeasyPrint (as configured)
- Authentication: Django’s built-in authentication system
-
Clone the Repository
git clone https://github.com/dcccalvin/logbook_project.git cd pilot_logbook -
Create a Virtual Environment
python -m venv venv venv\Scripts\activate
-
Install Dependencies
pip install -r requirements.txt
-
Apply Migrations
python manage.py migrate
-
Create a Superuser (Admin)
python manage.py createsuperuser
-
Run the Development Server
python manage.py runserver
-
Access the Application
- Open http://127.0.0.1:8000 in your browser.
- Register as a new pilot or log in as an existing user.
- Add Flight Logs: Enter details for each flight.
- Manage Certifications: Update and track your pilot certifications.
- Log Training: Record training sessions and outcomes.
- Generate Reports: Download your logs and summaries as PDFs.
- Admin Panel: Access via
/adminfor user and data management.
pilot_logbook/
│
├── Pilot_Logbook/ # Django project settings
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
│
├── logbook/ # Main app: models, views, templates
│ ├── migrations/
│ ├── templates/
│ ├── static/
│ ├── admin.py
│ ├── apps.py
│ ├── models.py
│ ├── views.py
│ ├── forms.py
│ └── urls.py
│
├── manage.py
├── requirements.txt
└── README.md
- User: username, email, password, role
- FlightLog: user, date, aircraft, route, duration, remarks
- Certification: user, type, issue_date, expiry_date
- TrainingRecord: user, session_type, date, outcome
See corrected schema.png for a visual representation.
- Run Unit Tests
python manage.py test - Test Coverage: Ensure all models, views, and forms are covered.
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature). - Commit your changes.
- Push to your fork and submit a pull request.
- Report bugs or request features via Issues.
This project is licensed under the MIT License.
- Author: Calvin D.
- Email: [chumacalvin8@gmail.com]
- GitHub: https://github.com/dcccalvin/logbook_project
Happy flying and safe logging!