| File | Date | Author | Commit |
|---|---|---|---|
| business rules | 2022-03-23 |
|
[edf99d] Project Description |
| identity | 2021-07-22 |
|
[269a12] init commit |
| sql | 2022-03-23 |
|
[edf99d] Project Description |
| sreenshots | 2021-07-22 |
|
[269a12] init commit |
| ssl | 2021-09-15 |
|
[f1aedf] User Profile Update |
| uml | 2022-03-23 |
|
[edf99d] Project Description |
| .gitignore | 2021-09-15 |
|
[f1aedf] User Profile Update |
| README.md | 2022-03-23 |
|
[49bd1b] Functionality Per User |
Administrator
The type of user that registered an organization with Phiscal, or is selected by another administrator to be administering one.Anonymous User
The type of user that is not logged into a Phiscal AccountFreelance Agent
An informal business structure where the individual itself is the business.General User
A user logged in ordinary Phiscal AccountModule
An individual web application with functionality tailored to support specific business rules, powered by the Phiscal API.Organization
Any formal business structure, all the way from a sole trader, partnership, to a large business enterprise.Phiscal Team
The group of programmers and management behind the development of the Phiscal ProjectTenant
The Phiscal application instance assigned to each business in order for it to be able use system.
Phiscal is a general purpose Business Information System. It delivers functionality specific to business rules through subsystems, in the Phiscal context, called "Modules".
Phiscal serves as an Identity Provider powering the user authentication and authorization of these Modules, and an API providing common functionality to most Modules.
This functionality includes organizational Branch, Department, Employee, and Roles database entities.
Make Inquiry
This defines the ability for registered and non-registered users to inquire information about the Phiscal project to the Phiscal team.Register Business with System
This defines the function to add an organization, or register a user to trade as an individual. The output of this use case is the creation of the Tenant associated with business in question, whether organization or freelance agent.Update Business Information
Not all business fields are available to input during registration, this provides the ability to add such fields, and keep to date changed information, or remove fields no longer relevant. For an organization, this includes logo, branch, department, employee, and role CRUD operations.Subscribe Module
This defines an association of a Tenant with a Module it can use for the specified period. The duration is normally 30 days. The subscription, however, can still be canceled or paused by user before it expires.Delete Organization
This defines the ability for administrators to unanimously delete their organization off Phiscal. All associated employees will be notified of action, and will have their employee status purged.
| Use Case | Anonymous User | General User | Freelance Agent | Employee | Administrator |
|---|---|---|---|---|---|
| Make Inquiry | X | X | X | X | X |
| Sign Up | X | ||||
| Update Personal Info | X | X | X | ||
| Register Business | X | X | X | X | |
| Branch CRUD | X | ||||
| Employee CRUD | X | ||||
| Logo CRUD | X | ||||
| Subscribe Module | X | X | |||
| Cancel Subscription | X | X | |||
| Delete Organization | X |
Phiscal is a database, accessed through a RESTful API built with Phalcon, a php framework served as a C extension.
Endpoint routes are divided between private and public routes.
Private routes are those that require the Authorization HTTP header, with a JWT using the Bearer Schema as a value.
Routes that operate on a particular Tenant require the Tenant ID to be passed as a value in the Tenant HTTP header.
Users interact with system via a web client built with VueJS SPA technology, and an Android app built with Java + XML.