Skip to content

ludvdber/ActuScope

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

125 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ActuScope

PHP MySQL JavaScript Bootstrap

Architecture License

A news website built with PHP following the MVC architecture pattern. Features both traditional multi-page (MPA) and single-page application (SPA) modes using AJAX.

✨ Features

Feature Description
📰 Article Management Browse recent news articles with reading time estimates
🔐 User Authentication Login system with session management
Favorites Save articles for later (async, no page reload)
🔍 Advanced Search Filter by keywords, category, date range (slider)
🎨 Themes Light, dark, and grey themes
🔤 Font Options 3 different font styles
SPA Mode AJAX-powered navigation without full page reloads

🎯 Technical Requirements

This project was built with specific constraints that shaped the architecture:

  • Dual rendering: Support both MPA (traditional) and SPA (AJAX) modes, switchable via config variable
  • No page refresh: Favorites and search must work asynchronously using AJAX/jQuery
  • Article details: Display on click as an overlay (no navigation)
  • Session-based favorites: Persist user selections across navigation
  • Dynamic menu: Load pages without full refresh
  • No form tags with AJAX: Handle submissions via JavaScript only

🏗️ Architecture

actuscope/
├── app/
│   ├── controller/    # Request handlers
│   ├── model/         # Data access & business logic
│   └── view/          # HTML templates
├── asset/             # Static files (CSS, JS, images)
├── public/
│   └── media/
│       └── sql/       # Database schema
└── index.php          # Entry point & router

🛠️ Tech Stack

  • Backend: PHP 8+ with custom MVC framework
  • Database: MySQL
  • Frontend: HTML5, CSS3, Bootstrap, JavaScript, jQuery
  • Data: JSON files + MySQL database

🚀 Installation

  1. Clone the repository
git clone https://github.com/ludvdber/4ipw3_projet.git
  1. Import the database
mysql -u your_user -p your_database < public/media/sql/database.sql
  1. Configure database connection in the config file

  2. Run with a local PHP server or XAMPP/WAMP

📄 License

MIT License

👥 Authors

Built as part of the Bachelor in Application Development at ISFCE Brussels.

About

News website with PHP MVC and AJAX SPA mode

Topics

Resources

License

Stars

Watchers

Forks

Contributors