Skip to content

markokroselj/launch-tracker

Repository files navigation

Launch tracker πŸš€

Rocket Launches Database Web Application created for an assignment for my Web Technologies class at university.

This application allows users to track rocket launches worldwide from various launch service providers and their launch pads.

Non-registered users can view latest and all launches. Registered users can add data about orbits, launch service providers (LSP), launch pads, rockets and launches. New users can sign up with a username and password or via their GitHub account.

The target user base for this application consists of users who are interested in space flights and rocket launches and would like to know when a particular rocket launch happened and information about it.

Home page

Dashboard

Sitemap

Sitemap

Technologies Used

Application is created in PHP using MVC framework. For development, the application is hosted using the XAMPP open source package. Apache web server routing configurations are managed with the .htaccess file. For styling I used Tailwind CSS and Flowbite Tailwind components. Async form submissions are handled using the HTMX JavaScript library.

Tailwind CSS scripts

For building CSS from Tailwind classes, I made two Node.js scripts:

  "build:css": "npx tailwindcss -i input.css -o public/style.css --watch",
  "build:min-css": "npx tailwindcss -o public/style.css --minify"

The first script is used during development to watch and compile the CSS, second script minifies the CSS file for production.

Scripts are run using npm run [script name]. Ensure that Node.js is installed on your system.

PHP dependencies

For managing PHP dependencies I used PHP Composer For GitHub authentication, I used the following dependencies:

{
    "require": {
        "league/oauth2-github": "^3.1",
        "firebase/php-jwt": "^6.4",
        "guzzlehttp/guzzle": "^7.8",
        "league/oauth2-client": "^2.7",
        "vlucas/phpdotenv": "^5.6"
    }
}

.env

Environment variables are handled using PHP dotenv library.

.env file:

GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
JWT_PRIVATE_KEY=
JWT_PUBLIC_KEY=
DB_HOST=
DB_USER=
DB_PASSWORD=
DB_SCHEMA=

Database

Database is made in MySQL. It was designed and generated using PowerDesigner.

Database Diagram

PDF report

PDF report in Slovene

About

Rocket launch tracker web app πŸŒŽπŸš€

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages