README v1.1 | Luminosity

72 views

Posted: 11 Aug 2021 (04:32)
Last Edited: 24 Nov 2021 (08:49)

Salil M.

@cmd05

...

ue2upd9kmjs9aq1am6y1.png


Luminosity

Remote repository for Luminosity - The Modern Blogging Platform.


Features

  • Find articles on various topics
  • Follow other users
  • Use a web-friendly interface to create posts
  • Create drafts before publishing articles
  • Comment and react on articles
  • Bookmark articles
  • Customize your profile
  • Responsive Design and Dark Mode option


68747470733a2f2f7265732e636c6f7564696e6172792e636f6d2f636d6433626f742f696d6167652f75706c6f61642f76313632343832313130362f4c756d696e6f736974792f65313735386439393730323762363863326136343066623063363562393663392e706e67.png

Create Drafts and Articles


d1lssum3vnsvavhnpenb.png

Explore Articles


y6xrlakzklw8n3nh31ic.png

Customize your profile


Design


The project implements Model-View-Controller design pattern. This project has been built using a custom framework.

68747470733a2f2f63646e2e6564756362612e636f6d2f61636164656d792f77702d636f6e74656e742f75706c6f6164732f323031392f30342f776861742d69732d6d76632d64657369676e2d7061747465726e2e6a7067.jpg

Model–view–controller (usually known as MVC) is a software design pattern commonly used for developing user interfaces that divides the related program logic into three interconnected elements. This is done to separate internal representations of information from the ways information is presented to and accepted from the user.


Model

The Model component corresponds to all the data-related logic that the user works with. This can represent either the data that is being transferred between the View and Controller components or any other business logic-related data. For example, a Customer object will retrieve the customer information from the database, manipulate it and update it data back to the database or use it to render data.

View

The View component is used for all the UI logic of the application. For example, the Customer view will include all the UI components such as text boxes, dropdowns, etc. that the final user interacts with.

Controller

Controllers act as an interface between Model and View components to process all the business logic and incoming requests, manipulate data using the Model component and interact with the Views to render the final output. For example, the Customer controller will handle all the interactions and inputs from the Customer View and update the database using the Customer Model. The same controller will be used to view the Customer data.


A common example is ASP.NET MVC


Project Structure

application/ Contains Backend and Application Logic

  • Config - Contains configuration files for project
  • Libraries - Contains basic libraries used by classes and other units.
  • See Core.php for URL based routing
  • Controllers

Ajax Controllers: Handle internal API requests. (Returns: JSON)

Controller Traits: Constant values for controlling application logic. Eg: maxArticles

View Controllers: Load the correct view along with the data to be displayed

  • Helpers - Helper files provide common utility functions used across the application
  • SQL - Contains SQL Dump and Procedures for Models
  • Views - Each view controller has unique view folder containing different pages in it (default index.php)
  • Vendor - External Packages used by PHP
  • Bootstrap.php - The bootstrap file builds the application by including the Config files and starting the session. It also initializes the class and vendor autoloaders.

/public Application frontend

  • index.php: Entry File

root/.htaccess Route Requests through Public folder


Packages used


Requirements

  • PHP Version ≥ 7.0
  • Composer Package Management
  • MySQL Drivers


Setup Luminosity

Follow the Installation Guide to set up Luminosity.


Contributing

You may open an issue here




Tags


readme update git luminosity open_source

Comments