Skip to content

About

A community-driven entertainment discovery platform

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Halalem

Halalem Logo

A Community-Driven Platform for Entertainment Discovery Based on Personal and Religious Values

Discover. Evaluate. Contribute.


Halalem is a web platform designed to help people discover and evaluate entertainment content according to values that matter to them.

The project was created around a simple problem:

Finding out whether a movie, series, song, book, podcast, or other form of entertainment contains content that may conflict with a person's religious, cultural, or personal values can be surprisingly difficult.

Halalem attempts to make this process more transparent by combining:

  • Entertainment metadata
  • Community voting
  • User reviews
  • Content ratings
  • Moderation
  • Reputation systems
  • Value-based classifications
  • Future AI-assisted recommendations

The project initially focused primarily on Islamic values and halal entertainment, but its long-term direction is broader: creating a value-aware entertainment discovery platform that can potentially serve people from different religious, cultural, and personal backgrounds.

Project Status

Halalem is currently offline and under development.

The original Halalem application was previously deployed and accessible online, but the live application has been taken down temporarily for development and architectural reasons.

The project is not abandoned. Development and experimentation are continuing, with several larger features planned for future versions.

This repository is intended primarily as a public showcase and documentation repository for the Halalem project.

Important Repository Information

This repository intentionally does not contain the Halalem application's source code.

There are no:

  • Application source files
  • Production .env files
  • Database dumps
  • User data
  • API keys
  • Server credentials
  • Cloud infrastructure credentials
  • Private deployment configuration
  • Production secrets
  • Other sensitive application files

The purpose of this repository is to publicly document and showcase the project while keeping the actual application infrastructure and private configuration separate.

Demo

A short demonstration of the Halalem application.

The preview below is divided into three parts and shows the main user experience, including browsing entertainment, opening a title, viewing its information, and interacting with the evaluation system.

Preview

Halalem Demo - Part 1

Halalem Demo - Part 2

Halalem Demo - Part 3

Full-Quality Demo

The complete high-quality screen recording is also included in this repository:

🎬 Watch / Download the full Halalem demo

The GIFs above are compressed previews intended for quick viewing in the README. The original halalem.mp4 provides the full-quality version of the demonstration.

The Idea Behind Halalem

Halalem was created around a gap that exists in many existing entertainment databases.

Platforms such as IMDb provide extensive information about movies and series, including parental-guide information. However, the way certain content is categorized does not always correspond to how religious or particularly conservative users understand that same content.

For example, a movie may contain only a brief kissing or intimate scene while still being described as having little or no sexual content from a conventional parental-guide perspective.

For some users, however, even relatively brief intimate scenes are important when deciding whether they want to watch something.

This difference in perspective was one of the main inspirations behind Halalem.

Rather than attempting to replace existing entertainment databases, Halalem explores a different question:

"Is this content compatible with the values I personally follow?"

That question is more subjective than simply asking for a movie's genre, runtime, release date, or conventional age rating.

Halalem therefore approaches the problem through a combination of:

  • Community participation
  • Structured evaluation questions
  • User voting
  • Reviews and comments
  • Moderation
  • Reputation
  • Entertainment metadata
  • Future AI-assisted recommendations

The goal is not simply to tell users what they should or should not consume.

Instead, the goal is to provide additional information and context so that users can make their own decisions before watching, reading, or listening to something.

An Important Distinction

Halalem is not intended to position the software itself as a religious authority.

A Halal, Haram, or Disputed classification displayed by the platform should be understood as a Halalem platform classification, based on the criteria, moderation decisions, and community participation defined by the project.

It should not automatically be interpreted as an official religious ruling.

This distinction becomes increasingly important as Halalem expands to support different communities, interpretations, and value systems.

The long-term objective is to make the reasoning behind classifications more transparent, allowing users to understand why a piece of content received a particular classification rather than simply trusting an unexplained label.

How Halalem Works

At its core, Halalem is built around a simple workflow:

Discover β†’ Inspect β†’ Evaluate β†’ Participate β†’ Contribute

The platform allows users to browse entertainment content, inspect detailed information about a title, see its current Halalem classification, participate in structured evaluations, leave comments, rate the content, and eventually contribute new content themselves.

1. Discover Entertainment

Users can browse the entertainment available on Halalem.

The initial version of the platform focuses heavily on movies and series, with the database containing more than 900 movie and series entries in its latest development state.

Each title is presented with its associated cover/poster and basic information, allowing users to quickly browse through the available content.

The long-term database is intended to expand beyond movies and series to include:

  • 🎬 Movies
  • πŸ“Ί TV series
  • 🎡 Music
  • πŸŽ™οΈ Podcasts
  • πŸ“š Books
  • 🎧 Other forms of entertainment

The objective is to eventually create a broad entertainment catalog rather than limiting Halalem to one type of media.

2. Three Main Content Classifications

Each title can receive one of three primary Halalem classifications:

Classification Meaning
🟒 Halal The title has currently been evaluated as compatible with the platform's defined criteria.
πŸ”΄ Haram The title has currently been evaluated as containing content that conflicts with the platform's defined criteria.
🟑 Disputed The classification is uncertain, contested, or subject to different interpretations.

These classifications are intended to provide users with a quick indication before they open the title.

However, the label is only the beginning of the evaluation process.

A classification can be based on administrative or moderator review, community feedback, structured voting, or a combination of these mechanisms.

3. Preliminary Classification

When content enters the platform, it can initially receive a classification from an administrator or moderator.

This is not necessarily intended to be the final word on the title.

The purpose of the initial classification is to give users an immediate indication while allowing the community and moderation system to provide additional information and feedback.

This is particularly important for titles where the answer is not completely straightforward.

Some entertainment may contain:

  • Brief intimate scenes
  • Kissing
  • Sexual references
  • Nudity
  • Strong language
  • Violence
  • Drug or alcohol-related content
  • Other material that individual users may consider relevant

Different people can also have different thresholds for what they consider acceptable.

For that reason, Halalem includes a more detailed evaluation system instead of relying exclusively on a single label.

4. Open a Title

When a user selects a movie, series, or another piece of content, they can access a dedicated page containing additional information.

Depending on the available metadata, a title can include information such as:

  • Title
  • Poster / cover
  • Description
  • Release date
  • Runtime
  • Genres
  • Languages
  • Cast
  • Stars
  • Writers
  • Directors
  • External ratings
  • Number of votes
  • Halalem classification
  • Community feedback
  • User comments
  • User ratings

The idea is to allow users to understand what the content is before evaluating whether it is suitable for them.

5. Structured Evaluation

One of the main parts of Halalem is the evaluation section.

Instead of asking users only:

"Is this movie halal?"

the platform breaks the evaluation down into more specific questions.

Users can be asked whether the content contains particular types of scenes, subjects, or material.

For example, an evaluation can focus on questions related to:

  • Intimate scenes
  • Kissing
  • Sexual content
  • Nudity
  • Explicit references
  • Violence
  • Other potentially sensitive content

Users can then submit their answers based on what they know about the title.

This creates a more detailed picture of the content instead of relying entirely on a single subjective rating.

6. Community Voting

Users can participate in the evaluation by voting on the structured questions.

The purpose of this system is to collect information from multiple people rather than relying on one person's interpretation.

As more users participate, the platform can potentially build a stronger community-based understanding of the content.

The voting system is therefore an important part of the project's philosophy:

The classification should be supported by information and community participation rather than being an unexplained label.

Voting does not necessarily mean that every user will agree.

That is one of the reasons why the Disputed classification exists.

7. Comments and Personal Ratings

Below the structured evaluation, users can also participate through normal community interaction.

Users can:

  • Write comments
  • Share their opinion about a title
  • Give their own rating
  • Discuss the content
  • Provide additional context
  • Point out information that may have been missed

This creates two different layers of community feedback:

  1. Structured feedback through evaluation questions and voting.
  2. Unstructured feedback through comments and personal ratings.

Both are useful for different purposes.

A structured vote can tell a user that a certain type of content was reported by the community, while a comment can provide the context behind that report.

8. Content Contribution

Halalem is also designed to be a community-contributed platform.

A registered user is not limited to consuming existing content.

Users can eventually contribute new entertainment entries to the platform.

Depending on the media type, a submission can contain information such as:

  • Title
  • Description
  • Release information
  • Genre
  • Cast or creators
  • Cover image
  • Other relevant metadata
  • Media-specific information

The submission process is intended to work for multiple types of entertainment, including:

  • Movies
  • Series
  • Songs
  • Books
  • Podcasts
  • Other supported content types

9. Submission and Moderation Workflow

User-submitted content does not immediately become permanently published as trusted content.

Instead, a submission enters a pending / holding state.

A simplified version of the workflow is:

User creates submission
        ↓
Submission enters pending state
        ↓
Administrator / moderator receives notification
        ↓
Content is manually reviewed
        ↓
Metadata and submitted information are checked
        ↓
Moderation and AI-assisted analysis may be used
        ↓
Content receives an appropriate classification
        ↓
Approved content becomes available to the community

This separation between submission and publication is a deliberate part of the platform's design.

Allowing every submitted item to immediately appear in the public catalog would make it much harder to maintain the quality and reliability of the database. Users may submit incomplete information, duplicate entries, incorrect metadata, misleading classifications, or content that requires additional review.

Instead, Halalem treats community submissions as proposals that need to be reviewed before becoming part of the trusted public catalog.

The moderation layer therefore serves several purposes:

  • Verify that the submitted content actually exists
  • Check the submitted title and metadata
  • Identify duplicate entries
  • Review the uploaded cover or image
  • Check whether important information is missing
  • Review the proposed classification
  • Evaluate potentially sensitive content
  • Correct inaccurate or misleading information
  • Decide whether the submission should be approved, rejected, or require further review

This creates a controlled workflow where the community can contribute to the growth of the platform without giving up quality control.

10. Human Moderation and AI Assistance

Halalem is designed around a human-in-the-loop moderation model.

When a submission requires review, administrators and moderators can use a combination of manual inspection and AI-assisted tools to help evaluate the content.

AI can be useful for tasks such as:

  • Processing large amounts of submitted information
  • Identifying potentially relevant content
  • Helping analyze descriptions and metadata
  • Flagging information that may require additional attention
  • Assisting with repetitive moderation tasks
  • Helping moderators organize or prioritize submissions

However, AI is not intended to independently decide whether something is religiously permissible or impermissible.

A value-based classification can involve context, interpretation, cultural differences, incomplete information, or disagreement between users. These are situations where a fully automated decision may be inappropriate.

For this reason, AI is treated as an assistive tool rather than the final authority.

The intended moderation model is:

Community Submission
        ↓
Automated / AI-Assisted Checks
        ↓
Moderator Review
        ↓
Human Decision
        ↓
Approval / Rejection / Further Review
        ↓
Publication

AI is used to assist moderators, not to replace human judgment. Final classifications and publication decisions remain under human review.

Technology Stack

Halalem was built primarily as a PHP web application using the Laravel framework.

The project follows a conventional Laravel architecture, with PHP handling the application's backend logic and Blade being used for server-rendered frontend views.

Core Stack

Technology Role
PHP Primary programming language and backend application logic
Laravel Main web application framework
Blade Server-side templating and frontend views
MySQL Relational database
Tailwind CSS Frontend styling and UI development
Alpine.js Lightweight frontend interactions
Vite Frontend asset bundling and development tooling

Backend

The backend is primarily written in PHP and built with Laravel.

Laravel is responsible for the main application architecture, including:

  • Routing
  • Controllers
  • Authentication
  • Authorization
  • Database interaction
  • Validation
  • Form processing
  • User management
  • Content management
  • Moderation workflows
  • Notifications
  • Application security
  • Backend business logic

The application was built around Laravel's MVC architecture, keeping the application's models, business logic, controllers, and presentation layers organized separately.

Frontend

The frontend uses Laravel Blade for server-rendered pages.

Additional frontend technologies are used where appropriate:

  • Tailwind CSS for styling and responsive interfaces
  • Alpine.js for lightweight client-side interactions
  • Vite for frontend asset management and development

The goal was to keep the frontend relatively lightweight while still providing interactive components where they were useful.

Database

Halalem uses MySQL as its relational database.

The database stores information related to the entertainment catalog and the platform's community features, including areas such as:

  • Movies and series
  • Entertainment metadata
  • Genres
  • Cast and creators
  • Ratings
  • Community votes
  • User comments
  • User accounts
  • Content submissions
  • Moderation states
  • User reputation / Aura
  • Other platform-related information

At the latest development state, the database contained more than 900 movie and series entries.

This represents only the beginning of the intended catalog. Future versions are planned to expand the database significantly with music, podcasts, books, and other forms of entertainment.

Authentication and Security

Authentication and account-related functionality is handled through Laravel-based authentication components.

The application also includes security-oriented measures such as:

  • Input validation
  • Authentication and authorization controls
  • Rate limiting
  • Protection against common web vulnerabilities
  • Secure handling of user-submitted data
  • Cloudflare human verification during registration
  • Security logging and monitoring
  • Role-based access for administrative functionality

Security development was informed by common web-security practices and the OWASP Top 10.

Repository Language Breakdown

The application's GitHub repository is primarily composed of PHP and Blade.

The approximate language breakdown reported by GitHub is:

Language Approximate Share
PHP 55.5%
Blade 39.6%
Batchfile 3.8%
Other 1.1%

The small Other category represents miscellaneous files and supporting formats used throughout the project, such as configuration, shell-related, text, Markdown, or other auxiliary files.

The exact percentages may change over time depending on the contents of the repository and GitHub's language-detection system. They should therefore be understood as a snapshot of the codebase rather than a strict representation of the application's architecture.

Development Philosophy

The technology choices were intentionally centered around Laravel and PHP rather than building a heavily fragmented stack.

The application was designed so that the majority of the core functionality could be handled within the Laravel ecosystem:

User
  ↓
Laravel Routes
  ↓
Controllers
  ↓
Application Logic
  ↓
Models / Database
  ↓
MySQL
  ↓
Blade Views
  ↓
User Interface

Contact & Data Requests

If you are interested in the Halalem project beyond the public showcase, you can get in touch for questions, collaboration, or access to project-related data and assets.

This may include, depending on availability and the specific request:

  • πŸ—„οΈ Entertainment database
  • πŸ–ΌοΈ Movie and series cover images
  • πŸ“Š CSV datasets
  • πŸ“ Entertainment metadata
  • 🏷️ Classification data
  • ⭐ Ratings and voting data
  • πŸ“ Other structured project data
  • 🀝 Potential collaboration or licensing opportunities

Data & Asset Requests

If you are interested in acquiring or obtaining access to any of the project's datasets or assets, such as the entertainment database, cover images, CSV files, or other structured data, please contact me directly.

Please include a short description of:

  1. What data or assets you are interested in
  2. How you intend to use them
  3. Whether the request is for personal, academic, research, commercial, or other purposes

Each request can be discussed individually, including the available format, scope, licensing, and any applicable conditions.

Contact

Email: soulaimanettabaas@gmail.com

For project-related questions, data requests, collaboration proposals, or other inquiries, feel free to reach out.

About

A community-driven entertainment discovery platform

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors