375 lines
10 KiB
Markdown
375 lines
10 KiB
Markdown
# The Tempus Project
|
|
|
|
|
|
need to make a vs battle for dnd. someone makes a truly broken character, we take the base character and hand it to two people and give them some time to figure out how they would break it
|
|
|
|
need to track points once a week
|
|
|
|
a huge table tracks points day to day then we add and erase the old data, or move it to historical...
|
|
|
|
## Rapid Prototyping Framework
|
|
|
|
### Developer(s): Joey Kimsey
|
|
|
|
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.
|
|
|
|
Currently I am in the process of testing all the systems in preparation for the first production ready release. The beta is still on-going. If you would like to participate or stay up to date with the latest, you can find more information at: https://TheTempusProject.com/beta
|
|
|
|
## Features
|
|
|
|
A User management system with groups, permissions, preferences, registration, and recovery. (All Controlled dynamically via our plugin interface)
|
|
A Plugin system that allows plug-and-play functionality for a huge number of features.
|
|
Compatibility with both Apache and NGINX.
|
|
Built with Bootstrap with a focus on mobile compatibility.
|
|
Incredibly easy to set-up, deploy, and develop with.
|
|
|
|
## Installation
|
|
|
|
Preferred method for installation is using composer.
|
|
|
|
### Manually
|
|
|
|
### Docker
|
|
|
|
### Composer
|
|
|
|
1. Clone the directory to wherever you want to install the framework.
|
|
2. Open your terminal to the directory you previously cloned the repository.
|
|
3. Install using composer:
|
|
`php composer.phar install`
|
|
4. Open your browser and navigate to install.php (it will be in the root directory of your installation)
|
|
5. When prompted, complete the forms and complete the process.
|
|
|
|
#### Apache
|
|
|
|
#### NGINX
|
|
|
|
#### Docker-Compose
|
|
|
|
If you have any trouble with the installation, you can check out our FAQ page on the wiki for answers to common issues.
|
|
|
|
If you would like a full copy of the project with all of its included dependencies you can find it at https://github.com/TheTempusProject/TempusProjectFull
|
|
Please note this repository is only up to the latest _stable_ release. Please continue to use composer update to get the latest development releases.
|
|
|
|
**Do not forget to remove install.php once you have finished installation!**
|
|
|
|
#### Currently being developed
|
|
|
|
- [ ] Adding documentation
|
|
- [ ] Unit tests
|
|
|
|
#### Future updates
|
|
|
|
- [ ] Expansion of PDO to allow different database types
|
|
- [ ] Update installer to account for updates.
|
|
- [ ] Implement uniformity in terms of error reporting, exceptions, logging.
|
|
- [ ] The templating system has gotten too large and needs to be split into its own repo
|
|
|
|
TTP ToDo:
|
|
|
|
need to integrate new plugins for some moved features
|
|
canary
|
|
comments
|
|
members
|
|
messages
|
|
Split inbox and outbox apart
|
|
split messages from usercp
|
|
redirects
|
|
|
|
need to make sure all 'use ' statements are updated to new repo names
|
|
|
|
namespace TempusDebugger; => namespace TheTempusProject\Canary;
|
|
namespace TheTempusProject\Houdini; => namespace TheTempusProject\houdini;
|
|
namespace TheTempusProject/TempusTool; => namespace TheTempusProject\Overwatch;
|
|
need a mechanism for handeling config/constants.php in each plugin
|
|
migrate all 'secondary' constants (constants not used in the default execution of the application) to plugin folders
|
|
|
|
Perform final F & R for:
|
|
"tpc"
|
|
|
|
|
|
|
|
need better handeling around blog filters like month and day
|
|
|
|
split profile from usercp
|
|
|
|
|
|
need a way to secure the api
|
|
need a standard way to do apis
|
|
need a way to show parts conditionally like {@if}
|
|
need
|
|
if
|
|
else
|
|
elseif
|
|
need a way to show something conditionally if a plugin is enabled
|
|
like {@enabled:comments}
|
|
{comments}
|
|
{@enabled}
|
|
|
|
https://css-tricks.com/drag-and-drop-file-uploading/
|
|
|
|
https://www.smashingmagazine.com/2018/01/drag-drop-file-uploader-vanilla-js/
|
|
|
|
|
|
|
|
|
|
|
|
need to merge both autoloaders into the same one under bin
|
|
need to be able to install multiple database tables for the same plugin
|
|
|
|
|
|
rename default.js and .css to main.js/css
|
|
fix where i moved those to the app/css and app/js folders
|
|
|
|
|
|
|
|
make a new template repo/dependency
|
|
make a new Debug repo/dependency
|
|
Fix the plugin
|
|
fix the console logger
|
|
|
|
add the ability to include js files
|
|
add the ability to include css files as needed
|
|
|
|
chat should include a config for the refresh timer
|
|
|
|
|
|
|
|
|
|
and better error handeling for models and plugins
|
|
need to make a singular list function to remove or combine these:
|
|
listGroupsSimple
|
|
listPosts
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i need to move everything moderator relateed to comments
|
|
i also need to make sure that moderators can actually moderate
|
|
|
|
|
|
|
|
|
|
|
|
the get form html thing should work perfectly with the database array to create hella simple to generate forms for anything
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
we are not doing anything with requiredPlugins
|
|
|
|
|
|
comments and blog are being manually added in the admin dashboard, this could be a problem when they are disabled
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
removed from blog filter
|
|
commentCount
|
|
|
|
|
|
|
|
need to address the error handler just failing to work
|
|
|
|
and the exception handler picking up random errors
|
|
|
|
|
|
need to revisit all of the form checking and make sure it is apparent to the user when and how they mess something up.
|
|
|
|
|
|
many pages are missing descriptions, need to add them
|
|
|
|
|
|
https://jsonapi.org/format/
|
|
|
|
|
|
need a way for the template system to:
|
|
switch between the meta-header content types for the sharing info
|
|
xlarge
|
|
large
|
|
etc
|
|
need better checking around title, meta-image, and descriptions
|
|
prevent accidently feeding bad images or text to these fields
|
|
need to manages js and css includes better, and incorperate it into templating system
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
the get timezone getdate gettime format functions all need to be migrated to app, stored as static vars and refactored
|
|
in core, am i using htaccess.html or nginx.html anywhere, if not, change them to .example
|
|
Routes -> getHost is using a terrible conditional for docker hosts, need to improve
|
|
Need to test all the filters for the editor stuff
|
|
need the ability for the autoloader to accept specific file name associations
|
|
needs a require_all
|
|
need to re-namespace all classes and functions
|
|
some classes need to be converted to non-static
|
|
some functions need to be converted to more static
|
|
run from the command line
|
|
|
|
initiated // is in so many controllers, i def want this removed initialized
|
|
tempus_project.php
|
|
test running commands from cli
|
|
if we move install.php to the bin, it will be unaccessible to the web server??
|
|
if its unaccessible except theough the index.php router, we don't need to delete it because its unaccessible again
|
|
can i use submodules?
|
|
errors should be able to be customized
|
|
if its in the app
|
|
should add more logging, esp for admin actions
|
|
need to add self::$pageDescription to many pages
|
|
man, messages is hot garbage, def needs a rework
|
|
need a mechanism to add listeners and events
|
|
ability to restore backups of perms prefs and configs
|
|
if your controller has no index method, you're just SOL
|
|
a blank page is called and no method is loaded
|
|
Warns should be for failed checks
|
|
add a check for having write access to the config folder and the uploads folder
|
|
and whatever is going to be needed to the plugin downloading
|
|
|
|
some configs have been removed and need to be accounted for
|
|
Unused:
|
|
---------------------------
|
|
Config::getValue('bugReports/sendEmail')
|
|
Config::getValue('bugReports/emailTemplate')
|
|
Config::getValue('feedback/sendEmail')
|
|
Config::getValue('feedback/emailTemplate')
|
|
Config::getValue('uploads/files')
|
|
Config::getValue('uploads/images')
|
|
Config::getValue('uploads/maxFileSize')
|
|
|
|
|
|
after all changes are pushed up and available, docker needs to be tested and updated
|
|
when using composer, the composer page is populated and correct
|
|
|
|
the config step of install should be checking the db creds
|
|
|
|
|
|
|
|
// need to make notes of other standards as i go to update the contributing document
|
|
// need to cross refrence the configs from core and ttp
|
|
// ensure the resources folder is current
|
|
// document, fix, and remove @TODO's where possible
|
|
Search for cuss words, they make you look stupid
|
|
fuck
|
|
shit
|
|
dam
|
|
damm
|
|
damn
|
|
god
|
|
ass
|
|
cunt
|
|
bitch
|
|
ffs
|
|
wtf
|
|
|
|
|
|
|
|
|
|
had to remove the tracking pixel that was to be used with the contacts form, this will need to be re- added in a future update
|
|
had to remove the rest controller, its currently just unused
|
|
|
|
// this can be used for the tempus project
|
|
composer create-project laravel/laravel example-app
|
|
|
|
# Release Checklist
|
|
|
|
=====================
|
|
- [] Spell check every file.
|
|
- [] All documentation must be reviewed for accuracy.
|
|
- [] If a new year has passed, ensure the year has been updated where applicable.
|
|
- [] If default permissions, preferences, configs, base classes or models have been updated, update resources accordingly.
|
|
- []
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace TempusDebugger; => namespace TheTempusProject\Canary;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
need to make sure a template loader can be called and still use the default template file, IE always add these CSS or JS resources.
|
|
|
|
|
|
|
|
|
|
discord bot that shares updates on your party from the site
|
|
maybe a summary after each session
|
|
warning that time is coming up
|
|
changes made to anything
|
|
D&D news
|
|
|
|
|
|
|
|
|
|
is it possible to store a campaigns state on the blockchain?
|
|
|
|
|
|
|
|
|
|
keeping this as a repository for podcasts would get more people to check it out
|
|
same for youtube
|
|
|
|
people love sharing their resources, so make it EASY to find podcasts, and youtube channels, and etsy stores, and give people a place to share it with their groups
|
|
|
|
try and earn commisions from this and do featured XYZ every x days or weeks or whatever
|
|
|
|
have different "kinds" of dice to portray on the dice roll page
|
|
|
|
maybe spinners instead of conventional die
|
|
|
|
maybe weird health potions for D4's
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
What is my goal here?
|
|
|
|
I would like to play Dungeons and Dragons once a week with my friends. In an ideal world, I would DM this game and spend all week building tools for us to use that I then put on a website which sells memberships to other players so they can use the tools too.
|
|
|