NoLibX is a lightweight PHP framework designed for web developers who prefer to build web applications using pure PHP, HTML, and CSS, without any external libraries or dependencies. It provides a simple and intuitive structure for organizing your code and building web applications efficiently.
- Pure PHP, HTML, and CSS: No external libraries or dependencies are required, making it easy to understand and customize.
- MVC Architecture: Follows the Model-View-Controller (MVC) design pattern for separating business logic, presentation logic, and user interface.
- Flexible Routing: Provides a flexible routing system for handling URLs and mapping them to appropriate controllers and actions.
- Common Functions: Includes common functions for handling HTTP requests and responses, form validation, data validation, error handling, and more.
- View Templating: Supports view templating for separating HTML markup from PHP code, making it easier to maintain and update your application's UI.
- Resource Organization: Provides a well-organized directory structure for organizing your PHP files, HTML templates, CSS stylesheets, JavaScript files, and image assets.
- Uploads Handling: Includes a designated "uploads" directory for handling file uploads from users.
- Front-end Assets: Comes with pre-configured Bootstrap 4.6.0 CSS and JS files for easy front-end styling and interactivity.
C:. ├───.idea ├───app │ ├───Common │ ├───Http │ │ └───Controller │ │ ├───Auth │ │ ├───Back │ │ ├───Master │ │ └───Navigations │ └───Models ├───public │ ├───css │ │ └───bootstrap-4.6.0-dist │ │ ├───css │ │ └───js │ ├───front │ ├───js │ └───uploads └───resources ├───js └───view ├───Auth ├───Back ├───CSS └───Navigations
- Clone the NoLibX repository to your local development environment.
- Configure your web server to point to the
public
directory as the document root. - Start building your web application by adding controllers, models, and views in the respective directories within the
app
andview
directories. - Define routes in the
app/Http/Controller
directory to handle incoming URLs and map them to appropriate controller actions. - Use the common functions provided by NoLibX for handling HTTP requests and responses, form validation, data validation, error handling, and more.
- Customize the view templates in the
view
andresources/view
directories to define the UI of your web application. - Add front-end assets such as CSS stylesheets, JavaScript files, and image assets in the respective directories within the
public
directory. - Handle file uploads from users in the designated
public/uploads
directory. - Customize and extend the functionalities of NoLibX as per your project requirements.
For detailed documentation on using NoLibX framework, please refer to the following files:
app/Http/Controller/AuthController.php
: Example controller file for handling authentication-related functionality.app/Http/Controller/BackController.php
: Example controller file for handling backend functionality.app/Http/Controller/MasterController.php
: Example controller file for handling master data related functionality.app/Http/Controller/NavigationsController.php
: Example controller file for handling navigation-related functionality.app/Models/
: Directory for storing model files that interact with the database.public/css/bootstrap-4.6.0-dist
: Directory for storing Bootstrap 4.6.0 CSS and JS files.public/front
: Directory for storing front-end assets such as CSS, JS, and image files specific to the front-end of your application.public/js
: Directory for storing custom JavaScript files.public/uploads
: Directory for storing uploaded files from users.resources/js
: Directory for storing JavaScript files for the back-end of your application.resources/view/Auth
: Directory for storing view templates related to authentication.resources/view/Back
: Directory for storing view templates related to backend functionality.resources/view/CSS
: Directory for storing CSS files specific to your application.resources/view/Navigations
: Directory for storing view templates related to navigation.view/css
: Directory for storing CSS files for the front-end of your application.view/img
: Directory for storing image files for the front-end of your application.
If you would like to contribute to NoLibX framework, please follow these steps:
- Fork the repository on GitHub.
- Create a branch for your feature or bugfix.
- Make your changes and commit them with descriptive commit messages.
- Push your changes to your forked repository on GitHub.
- Submit a pull request to the main repository.
- Await review and feedback from the project maintainers.
- Once your changes are approved, they will be merged into the main repository.
NoLibX is an open-source project released under the GNU General Public License v3.0 (LICENSE).
For any inquiries or questions, please contact the project maintainer at Marcraineer0089@gmail.com
We welcome contributions and suggestions for improvements. Here's a list of suggested tasks for contributors:
- Improve documentation and tutorials
- Implement a built-in ORM
- Integrate a built-in authentication and authorization system
- Add a template engine
- Organize front-end assets
- Separate core framework files from application files
- Ensure consistent naming conventions
- Move the
.gitignore
file to the root directory - Create a
config
directory - Provide more model examples
We'd like to thank all the contributors who have helped improve NoLibX:
- Marc Raineer Filosopo (https://github.com/raaaaiin) - Initial work, core features, and maintenance
Feel free to add your name and a link to your GitHub profile when you contribute to the project.