Created by Juan Francisco Montero (https://github.com/monp4r/)
Lazarus is a dynamic PHP web application, inspired by the Model-View-Controller (MVC) pattern. Developed as part of a coursework for a subject in my double degree in mathematics at the University of Valladolid, this project embodies the spirit of a Twitter-like experience.
Lazarus adopts the MVC architectural pattern, meticulously separating business logic from presentation to create a robust and modular codebase.
The application features specialized controllers for distinct functionalities:
- UsersController: Manages user-related operations.
- IndexController: Governs the application's main page.
- MessagesController: Controls the messages sent by users.
- FollowController: Manages user tracking features.
Consideration has been given to consolidating controllers into a unified entity, such as the proposed 'UsersController,' aimed at streamlining the codebase and improving maintainability.
To embark on the Lazarus experience:
- Clone the repository:
git clone https://github.com/your-username/lazarus.git
- Navigate to the project directory:
cd lazarus
- Set up a local server (e.g., using PHP's built-in server):
php -S localhost:8000
- Set up a local DBMS and execute the construction SQL file (e.g., using PHPMyAdmin)
- Open your web browser and visit http://localhost:8000
Be part of the Lazarus journey:
- Fork the repository on GitHub.
- Create a new branch for your feature or bug fix:
git checkout -b feature/new-feature
. - Commit your changes:
git commit -m "Add new feature"
. - Push to your branch:
git push origin feature/new-feature
. - Submit a pull request.
This project is licensed under the MIT LICENSE.
I want to express my sincere gratitude to the professors at the University of Valladolid who provided their support and knowledge during my education. Their dedication and teachings were instrumental in the development of this project, which embodies the spirit of a Twitter-like experience.
Explore, enhance, and contribute to the Lazarus PHP MVC Twitter-Like Web Application!
Folder | Description |
---|---|
config |
Contains configuration elements that may vary throughout the application's lifetime, such as credentials for connecting to the database. |
controllers |
Houses the application's controllers mentioned earlier. |
inc |
Includes subdirectories and their respective functionalities: |
components |
Stores components frequently used in the application. |
helpers |
Holds files providing various functionalities, from data input validation to image uploading. |
templates |
Stores templates used to avoid repetitive code. |
models |
Stores the models necessary for the MVC pattern to work with all application data. |
views |
Contains code responsible for loading the visualization of different interfaces. Local storage for images used in the application, including profile and message images. |
public |
Stores all resources related to the application's views, including the jQuery library and plugins, JS validation files, stylesheets, icons, logos, etc. |
construccionDB.sql |
SQL file that creates the Database of Lazarus |
index.php |
Main file for redirecting to various controllers based on session variable activation. |