In response to the ongoing Israeli offensive Forces, the ethnic cleansing and aparthhied of the Palestinian People, this app emerges as a platform to illuminate our unique narrative. Palestinians are resilient and creative, garnering recognition through various awards in cinema and literature with these works. The app's primary objective is to present insight into the inspiring resilience of our people and our tales. Hence the name (Pal: Palestine, Tales).
Over time, I have personally compiled a list of Palestinian movies and documentaries, both created by Palestinians and others, accessible through the Internet Movies Database (IMDB) which I have used in this app. I have also created a list of Palestinian books list on the open library database online. So this requiremnt is met by these by these two services:
A complete android app was developed that provides the following functionalities:
-
The app reads data from real external web servicces, Only Volly API was used.
-
List of books that delves into the Palestinian narrative:
https://openlibrary.org/people/sondos_aabed/lists/OL243427L/Palestinian/export?format=json
-
Collection of films, providing a visual representation of our experiences:
https://github.com/sondosaabed/Palestinian-Movies-JSON-Dataset/tree/main
-
The project contains the following activities (was required at least 4):
- Create Account Activity: Users are able to to register and create multiple accounts in the same device. Where there data is saved locally.
- Loign Activity: Provides login Functionality, with a remeber me feature that saves on their local storage (the last account set to remeber me is the one that is remebered).
- Home Activity: let's the user chose if tehy want to broswe movies or books.
- List Activity: based on what they want to broswe they are shown either a list of movies or a list of books provided by the json response of two web services.
- Item Activity: is shown on click the item (Movie || Book) Details
- Tow Informational Activites:
- Getting Started: If (is first time) and redirects to create account.
- Welcome Back: If rember me is set leads to Home, if there is no remeber me then Login.
-
The activites have variety of attributes: TextEdit(Diffrent input Types), TextView, Button, ListView, ImageView, ScrollView, CheckBox, ImageButton
-
The layouts have variety of Layout Managers: Contriant Layout, Relative Layout, Linear Layout.
-
The project have Centralized and coceptual design styles (light and dark themes), that are related to the concept (Palestine Flag Colors)
- Password Encryption using SHA-256 algorithm. (MessageDigest Java)
- One device can create multiple accounts and be saved in their shared prefrences.
- Check if first time users from prefrences.
- Provided an ADMIN account (I created it for testing although I don't like this logic of me doing that because it was hard coded #TODO)
- Created Custom List Items using Linear Layout for Book & Movie Object.
- Created Custom Adapters for books & movies.
- Implemneting Generic Programming (in some cases I fail to do so, but have reduced a lot of code redundancy since there exists intersections in the two Data types)
- Created (API) interface to be implemnted for both books & movies (I figured since they have the same methods but didn't finish this yet since it's addtional)