Appskull – Advanced User Login, Registration, Management & Permissions
Appskull is a very light weight, high secure PHP application that built using popular PHP framework called
Codeigniter (v3.x). This application allows users to easily start building their dream web
applications without worrying about building user authentication, user registration, user password reset,
system settings, user settings and etc… features by themselves. Also this application built with lots of
love and care so it's code base is very clean, organized, well commented. Also Appskull is highly scalable
and easy to maintain due to it's HMVC (Hierarchical model–view–controller) architecture and modular code
base. And it's front-end designed by using latest Bootstrap version (latest version). No any third party
theme/template were used. So it's very light, unopinionated and very easy to customize for suit your needs.
Current version: 9.0
Demo and documentation
- Demo link: http://appskull.nudasoft.com
-
Login/signin credentials:
- Username/Password: elonmusk
- Or you can register/signup and test it by yourself. (Normal users only get very limited permissions. So
you won't be able to do much.) - Online documentation link: http://www.nudasoft.com/docs/appskull/
Main features
- Secure user signin/login.
- Secure user registration/signup.
- Remember me feature on user signin/login (Multiple devices supported).
- User password reset.
- Password visibility toggleable.
- User email verification.
- Login/signin with email address or username.
- Third party email senders support (e.i:, SendGrid).
- CRUDs with server-side sorting, filtering, searching and pagination.
- SEO friendly, clean and meaningful URLs.
- 100% Mobile ready/responsive.
- Modern flexbox based custom layout design with maximum compatibility, usability and accessibility.
- User management.
- User overview/dashboard view.
- User statuses.
- User tags (multiple tags per user).
- User roles (multiple roles per user).
- User groups (multiple groups per user).
- User states.
- Advanced user permissions system.
- Module basis system settings.
- User settings.
- Easy configuration options.
- Easily brandable.
- Full unicode support (utf8mb4).
- Full Unicode emoji support.
- Fixed/Floating table headers.
- Client side and server side form validation.
- Advanced exception handling.
- Custom libraries/APIs.
- Third party SMPT email senders support.
- Clean, minimalistic, pixel perfect and light-weight design.
- Fully object oriented and modular HMVC architecture.
- High security.
- There is no any tracking, license verification, encrypted, compiled or backdoor codes in this
application. Yeah! it's 100% clean. - There is no any footprints. because of that, no one can tell/identify your app is based on Appskull. for
example, AngularJS has ng-, VueJS has v-. so anyone can easily tell this app is based on this or that.
Other reasons to use Appskull
- Built on Codeigniter PHP framework (latest). So code base is very lean, fast and scalable.
- Based on HMVC (Hierarchical model–view–controller) architecture. So code base is very organized, modular
and easy to scale and maintain without any hassle. - Front-end built with Latest and stable version of Bootstrap 4.
- Less opinionated user interface designs. So you can customize very easily.
- Can be branded very easily. You can replace logos and set app frame color within few seconds.
- Not bloated, super fast and requires very low server resources.
- Very scalable.
- Separated adminend and userend routes.
- Clean, minimalistic and pixel perfect design.
- More server-side operations, less JavaScript. Yeah! pretty much all features on Appskull is handle by
server side. So that's mean the system is more reliable. For example you can even search, sort millions
of database records without any problems. - Well tested and no known bugs/issues.
- Already used this app to build many local projects.
- Designed and developed from ground up. So no themes/templates or previously written codes were used.
- Everything is well organized. For example, routes, files, assets and etc…
- Very clean, well formatted and commented code base.
- Files, classes, methods, variables and etc… are carefully named with meaningful names and standards.
- Very developer friendly.
- You don't need a expensive VPS server to host this application. A low cost shared hosting plan is more
than enough. - Mod rewrite/.HTACCESS support is optional. So don't worry if your web hosting company not provide
support for .HTACCESS. - Nginx server support. Appskull is well tested and fully support for Nginx server and all the required
configuration details can be found in the documentation. - Broad range of application server support. This app works fine with older and newer versions of PHP.
- Highly detailed online & offline documentations.
- Fast and friendly customer support.
- Continuous future software updates with instructions and change log.
Security
- SQL injection protection.
- XSS protection.
- CSRF protection.
- High secure latest PHP's one-way password hashing algorithms.
Server requirements
- Apache or Nginx server.
- PHP version 5.6.x or newer is recommended. If you got PHP 7.x, then go ahead use PHP 7.x latest version.
PHP 7.x is much better than PHP 5.6.x versions. - OpenSSL PHP extension.
- MySQL version 5.6 or greater or MariaDB version 10.0 or greater.
Changelog
Version 9.0 – January 5, 2021
- [Upgraded] CI to 3.1.11:develop (latest) branch. This upgrade should fix session “flash” values not
getting cleared in PHP 8.x versions. Evan though this is not a stable release this should be fine.
We have tested Appskull with this upgrade and everything works great. Once the CI 3.1.12 version
gets release, We will release a update.- [Refactored] Few view files to fix some typos.
- [Upgraded] User permissions view. Now its has collapsible user permissions groups (With this UX
enhancement, its pretty easy to update/manage permissions) and few more extra info available in to
table header.- [Refactored] Main aside view file to hide menu items if user doesn't have enough permissions.
- [Added] Ability to show/hide app meta info, ie; app copyright info, app version, app powered by text
in the adminend.- [Refactored] Few assets files to remove unnecessary stuff.
- [Fixed] A bug in the “table fixed header” custom js library. This should fix horizontal scrollbar
space appearing issue in tables with fixed table headers.- [Added] 403 HTTP header status code for few controller methods (For disabled features).
- [Removed] Some unused config file calls from few controllers.
- [Upgraded] Some validation rules.
- [Added] Few very subtle animations to the UI.
- …more…
Version 8.0 – September 12, 2020
- [Upgraded] Bootstrap to latest stable (v4.5.2).
- [Upgraded] Jquery to latest (v3.5.1).
- [Added] TinyMCE v5.4.2 (latest to date).
- [Upgraded] FontAwesome to latest (v5.14.0).
- [Refactored] Few view files to make them simpler.
- [Refactored] Few view files to make them more user-friendly.
- [Introduced] SVG type logos.
- [Updated] the documentation.
- …more…
Version 7.0 – October 17, 2019
- [Upgraded] Codeigniter framework to v3.1.11 (latest) from v3.1.10.
- [Refactored] Users module related controllers and corresponding db model files to make them more
readable and simple.- [Added] ‘datetimeLastActivity' table field value setting in user signup db model.
- [Refactored] Few Auth module related controllers to make it easier to understand logical flow.
- [Added] TinyMCE editor into assets/common/common/libs directory.
- [Added] HTMLPurifier v4.11.0 third party package.
- [Enhanced] Few tables in the database by adding necessary db indexes and changing field data types.
- …more…
Version 6.0 – September 20, 2019
- [Refactored] few class files to change the order of some statements in them and updated few
comments.- [Added] searchable functionality for ‘datetimeLastActivity' field in users CRUD view.
- [Refactored] all the ‘datetime' showing format to 24h format from AM/PM format. this modification
makes ‘time' part of the ‘datetime' string searchable.- [Fixed] empty table header th tag get stretched when browser resize even it has ‘_table_cell_shrink'
CSS class. this bug introduced by the fixed table header custom JS library. but now it's fixed.- …more…
Version 5.0 – September 9, 2019
- [Added] appskull specific configuration file into app module and moved all the appskull related
configuration options into that file. So now you can define your app configuration options
separately from Appskull specific configuration options. For example, app_version, app_name and
etc…- [Changed] some custom html attribute naming to give more straightforward names for them. So Appskull
users will have easy time mess with them- [Refactored] app, users module routes to differentiate userend routes from adminend routes. For
example, now you can have userend routes like http://[root]/users/ and its corresponding adminend
routes like http://[root]/admin/users/. In simple words adminend routes will not collide with
userend routes. Auth module did not affected by this modification.- [Added] placeholder controller with it's corresponding view file to handle Appskull
default/home/index route. In simple words, now Appskull have app home controller and app admin home
controllers. So now you can easily design a home page for Appskull without messing with the
adminend.- [Added] new user permission called View admin home (app_viewAdminHome) to handle adminend specific
home view visibility.- …more…
Version 4.0 – August 28, 2019
- [Added] user overview/dashboard feature.
- [Added] show users online state next to their first name.
- [Added] active/inactive state CRUD field for all CRUD views.
- [Added] user last activity datetime feature.
- [Added] User signup welcome email sending feature.
- [Fix] small bug in user signout feature.
- [Added] editUserData() new method into Edit_user_model.php file. this method can be used to edit
specific user data.- [Added] new method called isOnlne() into ‘User' custom library. this method can be used to check
weather user online or not.- [Fix] bug related to time difference calculation in user password reset feature.
- [Fix] flatpickr calendar module not moving with it's corresponding input field.
- [Fix] passowrd visibility toggle switch not working on touch devices.
- [Added] responsive fonts capability.
- …more…
Version 3.0 – August 6, 2019
- [Updated] Add cross domain/host redirect protection to nextUrl() method in Url custom library.
- [Added] Few animation related CSS classes.
- [Added] Very subtle animations to alerts in all modules.
- [Updated] Auth module related view files.
- [Refactored] Remember me feature related codes in Auth module.
- [Updated] Adminend and userend footer view files.
- [Updated] Adminend and userend header view files.
- [Added] Fixed header custom JS library.
- [Added] Fixed header functionality for every CRUD table in the app.
- [Added] Cancel button for few view files in Auth module.
- [Updated] Improved next URL navigation in password reset feature and many other places.
- [Added] Password visibility toggler custom JS library.
- [Added] Password visibility toggle feature for every password input fields.
- [Updated] Add box shadow for btn-link type buttons to enhance user accessibility.
- [Added] User email verification status with sorting functionality for users CRUD view.
- [Added] Email verification selection option for user add and user edit feature.
- [Added] Introduced user security settings and user email settings related permissions.
- [Added] Few user settings related routes into routes.php file.
- [Added] Users module specific config file.
- [Updated] User add and edit related controllers in users module.
- [Updated] User add and edit related DB models in users module.
- [Removed] Max password character length limit from controllers.
- [Added] New user settings related DB model file.
- [Updated] Re-structured user settings controller files and DB model files for better maintainability
and scalability.- [Updated] User permissions view table.
- [Added] Bootstrap auto close alerts custom JS library.
- [Added] Alerts auto close functionality for all dismissible alerts.
- [Added] isEmailVerified() new method into User custom PHP library.
- [Added] Minimum password length configuration option to users module specific configuration file.
- [Added] Minimum password length configuration option to system settings.
- [Added] New password recommendations popover for all new password input fields.
- [Added] Bootstrap plugin initiator custom JS library.
- [Updated] All mt_rand() usage with CI's built-in string helper random_string() method.
- [Updated] Auth module user signup related system settings view file.
- [Updated] Few user settings ‘view' related permissions keys.
- [Updated] User signin view file in auth module.
- [Added] New config option called users_emailVerificationTokenExpirationInMinutes. to users module
config file.- [Added] Email verification token expiration in minutes option to users settings.
- [Updated] Most of the controllers by removing unnecessary permissions checking.
- [Added] Email verification feature.
- [Updated] Moved repeating form validation callback methods into db models.
- [Updated] App slogan input field's max character length to 150 from 50.
- [Updated] Now identify user account step in user password reset feature behave differently for
signed-in and signed-out users.- [Updated] Documentation.
- …more…
Version 2.0 – June 18, 2019
- [Added] Remember me feature on user signin/login (Multiple devices supported).
- [Added] New custom library called Uri.
- [Updated] All next URL redirections to add support for query string.
- [Updated] Few default configuration values to avoid name collisions.
- [Refactored] Few configuration files to enhance readability.
- …more…
Version 1.0 – June 13, 2019
- Initial release.