How nisalasxlik/hanthana works
Hanthana is a PHP social and academic community application. Users enter through the web app to manage accounts and profiles, connect with friends, participate in group communities, and use feeds and academic content such as questions, events, and shared resources. Controllers coordinate domain models, which persist application data through a shared database layer; server-rendered views provide the interface, with browser scripts supporting interactions. The source index documents several controller-to-model dependencies; other links are omitted where the sampled material does not establish them.
Main entry points: Database.php Database connection · GroupController.php Group management · SearchController.php Search and discovery · FriendModel.php Friend records
Components 24
Web entry
- Web entry point
public/index.php
People and accounts
- Authentication
app/controllers/AuthController.php - Profiles
app/controllers/ProfileController.php - Friend connections
app/controllers/FriendController.php - User records
app/models/UserModel.php - Friend records
app/models/FriendModel.php
Social content
- Feeds and posts
app/controllers/FeedController.php - Post records
app/models/PostModel.php - Search and discovery
app/controllers/SearchController.php
Group communities
- Group management
app/controllers/GroupController.php - Group records
app/models/GroupModel.php - Group posts
app/models/GroupPostModel.php - Group channels
app/models/ChannelModel.php - Direct messaging
app/controllers/ChatController.php - Message records
app/models/MessageModel.php
Academic tools
- Questions and answers
app/models/QuestionModel.php - Calendar reminders
app/models/CalendarReminderModel.php - Events
app/controllers/EventsController.php - File bank
app/controllers/FileBankController.php
Persistence and services
- Notifications
app/models/NotificationsModel.php - Reports and moderation
app/models/ReportModel.php - Database connection
app/core/Database.php - MySQL database
Other components
- Community user
Connections 30
- Community user → Web entry point: uses
- Web entry point → Authentication: dispatches
- Profiles → User records: reads and updates
app/controllers/ProfileController.php - Profiles → Friend records: reads
app/controllers/ProfileController.php - Friend connections → Friend records: manages
- Feeds and posts → Post records: loads posts
- Search and discovery → User records: searches
app/controllers/SearchController.php - Search and discovery → Group records: searches
app/controllers/SearchController.php - Search and discovery → Post records: searches
app/controllers/SearchController.php - Search and discovery → Questions and answers: searches
app/controllers/SearchController.php - Group management → Group records: manages
app/controllers/GroupController.php - Group management → Group posts: loads posts
app/controllers/GroupController.php - Group management → Calendar reminders: uses reminders
app/controllers/GroupController.php - Group management → Reports and moderation: uses reports
app/controllers/GroupController.php - Group management → Notifications: sends notifications
app/controllers/GroupController.php - Direct messaging → Message records: manages messages
app/controllers/ChatController.php - Direct messaging → Friend records: checks connections
app/controllers/ChatController.php - Direct messaging → Group channels: uses channels
app/controllers/ChatController.php - User records → Database connection: connects through
app/models/UserModel.php - Friend records → Database connection: connects through
app/models/FriendModel.php - Group records → Database connection: connects through
app/models/GroupModel.php - Group posts → Database connection: connects through
app/models/GroupPostModel.php - Group channels → Database connection: connects through
app/models/ChannelModel.php - Message records → Database connection: connects through
app/models/MessageModel.php - Post records → Database connection: connects through
app/models/PostModel.php - Questions and answers → Database connection: connects through
app/models/QuestionModel.php - Calendar reminders → Database connection: connects through
app/models/CalendarReminderModel.php - Notifications → Database connection: connects through
app/models/NotificationsModel.php - Reports and moderation → Database connection: connects through
app/models/ReportModel.php - Database connection → MySQL database: opens connection
app/core/Database.php