Skip to content

Technaturally/tnApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

tnApp

TechNaturally app Aims to provide a modular architecture for building cloud apps.

Components

The main components of the tnApp are:

  • Server providing REST API (currently implemented in PHP)
  • Client providing user experience (currently implemented in angularjs)

Modules may be added on both the client and server, with the only dependency being that the client understands the REST API.

Installation

Run:

cd app && composer install && cd ../www && bower install && cd ..

Be sure to edit app/config.json with your database config.

Modules

Server Modules

Server modules are comprised of two main pieces:

  1. a descriptive <module>.json file
  • lists which fields (from the schema) to include in the database table
  • describes the data schema as a json-schema
  • describes API endpoints (aka "routes")
    • links to HTTP-method-specific logic implementation callbacks (ex. myModule_myRoute_get)
    • defines access permissions on a per-route/per-method basis
    • defines forms associated with a route/method callback (based on angular-schema-form definitions)
  1. a logic (ex. <module>.php) implementation file
  • implements all route/method callback functions
  • implements any support functions needed by the module (ie. functions not-exposed as API routes)

Client Modules

Client modules provide a user interface to the REST API.

Technologies

Current

  • Server: PHP
  • Datastore: MySQL
  • Client: angularjs

Planned

  • Server: express.js
  • Datastore: SQLite
  • Datastore: Firebase
  • Client: openFrameworks C++

About

TechNaturally app

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published