Skip to content

android app developed in kotlin, we will use firestore for storing the data and clound function as a replacment for server

Notifications You must be signed in to change notification settings

dolev146/Politi-Cal

Repository files navigation

Politi-Cal

to install the app on your android device just download the apk Politi-Cal v1.1 APK

built with FireBase and JetPack Compose

Firebase logo Firebase logo ----> drawing

Table Of Contents

Table of contents generated with markdown-toc

Description

Stay up to date on the latest celebrity news and politics with politi-cal! This app allows you to choose your preferences and see celebrities that match those categories in a Tinder-style swipe screen. You can also search for specific celebrities and see their profiles, complete with vote results. Plus, the app includes analytics for detailed tracking of user and celebrity data. Stay informed and have fun with politi-cal!

drawing

Features

  • User registration and preference selection
  • Swipe screen with celebrities from selected categories
  • Search function for specific celebrities
  • Celebrity profiles with vote results
  • Admin analytics for user and celebrity data

ScreenShots

Login Screen Register Screen Preferences
drawing drawing drawing
User Profile Screen With Delete Search Screen Celeb Profile Screen
drawing drawing drawing
Voting Screen Splash screen Distribution
drawing drawing drawing
Admin Screen Parties Distribution Age Distribution
drawing drawing drawing
Search User User Profile As Admin
drawing drawing
Firestore screenshots Description
drawing Users Collection
Celebs Collection
drawing Authentication
drawing FireStore Rulse

Development Proccess

We have engaged in a thorough planning process in order to successfully develop our product. We initially considered multiple ideas before ultimately deciding on the concept of POLITI-CAL. We also established the goal of the app, which is to collect political opinion data from the general public about celebrities. The app is intended for any individual who is interested in or wants to express an opinion on politics.

We have outlined the permissions for the app, with users being able to select their preferred categories of celebrities, vote for celebrities, and view vote data for a given celebrity. The administrator, or admin, of the app will have the ability to add celebrities, view statistics for the site, and access data about users and app usage.

image

We have described the significant processes that will be included in the app, such as a login screen, registration screen, preferences selection screen, voting screen, main menu, celebrity profiles, and screens for analytics and adding celebrities. We have also identified potential problems that may arise during the development process and have proposed solutions, including the use of a KANBAN board and the separation of concerns in the code.

In terms of technology, we have chosen to use JETPACK COMPOSE for the development of the app due to its ease of use and fewer reported bugs. We plan to build the app from the front end to the back end.

Overall, we, had a well thought-out plan in place for the development of our app and have taken steps to ensure the success of the project.

jsoncrackpng

We used the kanband board and Issues to track our goals using github projects

image image

Code Structure MVVM Design Pattern Model View View Model

image

In a computer system, every directory is designed to store and organize files related to the topic or concern indicated by its name. This approach, known as separation of concerns (SOC), helps to organize and manage the various components of a system in a logical and coherent manner.

3 Tier Architecture

image

Presentation Layer Business Logic Layer Data Access Layer
Android NodeJs FireBase
Firebase logo Firebase logo

NodeJs Server Setup

repo NodeJs Server

the server is hosted on render.com

image

it contain routes for every get post put delete request and also contain the logic of the app and the email sending mechanism.

we used ionos smtp mail server image

in order to run the server locally you will need the to include a file called .env with the secrets.

ADMIN_EMAIL = $$$$
ADMIN_PASSWORD = $$$$

How to Use

To utilize the app POLITI-CAL, follow the steps below:

  1. Download the apk file from the release notes.
  2. Install the apk file on your Android device.

Once the installation process is complete, you will be able to launch and use the app on your device.

Demo

Insert gif or link to demo

Running Tests

To test our distribution calculation methods we use Junit Tests. In order to run them properly, follow the next video instruction: https://www.youtube.com/watch?v=IhPPDzNzJBQ

Pre Testing

We created a list of celebrities that we will use to test the distribution calculation methods.

We tested the 4 main distribution functions in our project:

Celebrity distribution:

image

image

Company distribution

image

image

Category distribution

image

image

Total distribution

image

Run Locally

  1. Clone the project using the following link: into get VCS button
  https://github.com/dolev146/Politi-Cal.git
  1. Open the cloned project in the Android Studio editor.
  2. Press the "play" button in the editor to launch the project.

This process will allow you to access and modify the code for the POLITI-CAL project within the Android Studio environment.

Install dependencies

incase of a problem finding a dependecy go to gradle.setting page and press sync.

Relevant Documents

Links and information

Figma design

Figma Design Link

image image image image image

Authors

About

android app developed in kotlin, we will use firestore for storing the data and clound function as a replacment for server

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages