thetempusproject/thetempusproject

The aim of this project is to provide a simple and stable platform for rapidly prototyping new web applications.

5.1.2 2025-02-06 03:05 UTC

This package is auto-updated.

Last update: 2025-03-07 21:19:06 UTC


README

Rapid Prototyping Framework built on PHP utilizing the MVC pattern with a Bootstrap front-end

Developer(s):

  • Joey Kimsey - Lead Developer

The aim of this project is to provide a simple and stable platform from which to easily add functionality. The goal being the ability to quickly build and test new projects with a lightweight ecosystem to help.

Notice: This code is in still not production ready. This framework is provided as is, use at your own risk.\ I am working very hard to ensure the system is safe and reliable enough for me to endorse its widespread use. Unfortunately, it still needs a lot of QA and improvements.

Table of contents

[[TOC]]

Find Us

Summary

The Tempus Project is a PHP application utilizing the MVC pattern to serve up simple pages and APIs with minimal effort. It requires a MySQL database to function and is designed to run equally well with nginx or apache powering the webserver. Most of the core functionality is developed in house and provided through dependencies. At this time, the frontend is driven on bootstrap 3 and FontAwesome for simplicity.

Features

  • A Plugin system that allows plug-and-play functionality
  • A User management system
    • groups
    • permissions
    • preferences
    • registration and recovery (All Controlled dynamically via our plugin interface)
  • Compatibility with both Apache and NGINX
  • Built with Bootstrap with a focus on mobile compatibility
  • Incredibly easy to set-up, deploy, and develop

Installation

The preferred method for installation is Composer but special attention has been given to installation and usage without Composer.

Composer

The simplest method to start a new project is to use composer to create a new project and automatically clone all the necessary files:

via create-project

composer create-project thetempusproject/thetempusproject test-app

via clone & install

  1. Clone the directory to wherever you want to install the framework. git clone https://git.thetempusproject.com/the-tempus-project/thetempusproject.git <test-app>
  2. Open your terminal to the directory you previously cloned the repository. cd <test-app>
  3. Install using composer: php composer.phar install

Manually

  1. Clone the directory to wherever you want to install the framework. git clone https://git.thetempusproject.com/the-tempus-project/thetempusproject.git <test-app>
  2. Open your terminal to the directory you previously cloned the repository. cd <test-app>/
  3. Clone the dependency directories to the vendor/ folder.
    cd vendor/
    git clone https://git.thetempusproject.com/the-tempus-project/bedrock.git bedrock
    git clone https://git.thetempusproject.com/the-tempus-project/canary.git canary
    git clone https://git.thetempusproject.com/the-tempus-project/hermes.git hermes
    git clone https://git.thetempusproject.com/the-tempus-project/houdini.git houdini
    

Note: The autoloader should automatically detect and use the dependencies, but they need to be sorted into the folders ans shown above.

Docker

To enable quick deployment and collaboration The Tempus Project is distributed with the files to build your own docker images or stack with apache or nginx The included docker-compose.yml will load up an entire stack including apache and nginx, as well as a MySQL server with phpmyadmin.

You will need docker installed on your system then you can either download the latest images from DockerHud:

docker pull thetempusproject/ttp-apache
docker pull thetempusproject/ttp-nginx

Or you can build your own images from this repository. More information can be found in the included README files:

Docker-Compose

The Docker stack included here will build new versions of the nginx and apache webserver and launch them in individual containers. It will also create 2 more containers; one for php, and one for phpmyadmin.

docker-compose -f docker-compose.yml up --build -d  --no-cache

Note: If you cloned the repository from git, you will need to copy the docker/.env.example to .env in the root directory and update the contents before proceeding with docker-compose.

Contributing

TheTempusProject is an open source project and welcomes community contributions. Please refer to the Contributing file for more details.

License

See the LICENSE file for licensing information as it pertains to files in this repository.

Known Issues

  • [ ] The blog plugin should add a welcome post during the installResources step of the installer. It doesn't work right now.

Currently being developed

  • [ ] Adding documentation
  • [ ] Unit testing

Future updates

  • [ ] Expansion of PDO to allow different database types
  • [ ] Update installer to account for database deltas, allowing easy updating.
  • [ ] Implement uniformity in terms of error reporting, exceptions, logging.
  • [ ] I want to make an api that allows you to download and install new plugins from a centralized repository
  • [ ] i want plugin instalation to be compatible with composer for easier management of added plugins.