Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changed the UI layout for the splash screen #2

Open
wants to merge 60 commits into
base: Chat
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
df6756f
Changed the UI layout for the splash screen
V1rex Feb 10, 2019
64ec321
Changed the UI for LoginPage
V1rex Feb 10, 2019
50f1136
Added some UX changes to LoginActivity
V1rex Feb 10, 2019
7af0ae8
Updated the UI for Register Page
V1rex Feb 10, 2019
61d1157
Update README.md
V1rex Feb 11, 2019
2b71857
Maked RegisterActivity add users to firebase realtime database and re…
V1rex Feb 11, 2019
4a4f719
Added an DatePicker for picking the birthdate in RegisterActivity
V1rex Feb 11, 2019
6d3b4bf
Fixedthe the problem of clicking and showing the DatePicker in the Ed…
V1rex Feb 11, 2019
46e684e
Merge remote-tracking branch 'origin/NewDesign' into NewDesign
V1rex Feb 11, 2019
b516fbe
Shanged the Splash Layout UI design
V1rex Feb 12, 2019
5658cbe
Changed Mentor code
V1rex Feb 12, 2019
c8d0a41
Added another constructor to Mentor for adding ProfilePhotoUrl
V1rex Feb 12, 2019
5132d7e
Change Startup Class code
V1rex Feb 12, 2019
5f0a103
Added another constructor to Startup class for ProfilePhotoUrl
V1rex Feb 12, 2019
088dba4
Changed the MentorRegister Activity UI
V1rex Feb 13, 2019
051dc17
Added an button for uploading a profile photo in Mentor Activity
V1rex Feb 13, 2019
366a5d1
Maked MentorRegisterActivity choose profile photo and display in UI
V1rex Feb 13, 2019
272bfbf
Maked the users upload profile photo to firebase storage
V1rex Feb 14, 2019
299720e
Fixed the button display in MentorRegisterActivity
V1rex Feb 14, 2019
b4b734b
Changed the UI for StartupRegisterActivity
V1rex Feb 14, 2019
7b4cce5
Maked StartupRegisterActivity upload profile photo
V1rex Feb 14, 2019
c512d1c
Added an check for startups for sending messages if empty
V1rex Feb 15, 2019
f4354d7
Added a check for mentors if they don't exist and display a messages
V1rex Feb 15, 2019
18b132d
Maked the StartupViewHolder display startups images from firebase sto…
V1rex Feb 16, 2019
08a2911
Maked Mentor Fragment display a list of mentors with profile images f…
V1rex Feb 16, 2019
b39cf34
Changed the UI for Bottom navigation activity
V1rex Feb 16, 2019
ad66aa2
Changed the UI for mentor informations in Settings Activity
V1rex Feb 16, 2019
f66e7d0
Changed the UI for Startups Informations in Settings Activity
V1rex Feb 16, 2019
71cc4a8
Updated the code fore SettingsActivity with the new Startup Constructor
V1rex Feb 16, 2019
21fa09e
Maked SettingsActivity display the image for the startups from fireba…
V1rex Feb 16, 2019
b2829ef
Maked Settings Activity display the photo of the mentor from firebase…
V1rex Feb 16, 2019
18eb3be
Maked the Settings Activity open an Activity for choose startup image…
V1rex Feb 16, 2019
17215f5
Maked the Settings Activity open an Activity for choosing mentor imag…
V1rex Feb 16, 2019
6198e80
Maked the SettingsActivity upload the photo for the Startup to fireba…
V1rex Feb 16, 2019
f7f17e5
Maked the SettingsActivity upload the photo for the Mentors to fireba…
V1rex Feb 16, 2019
316538c
Fixed of not showing the image if updated in Fireabase storage
V1rex Feb 16, 2019
a434e98
Fixed the problem of not updating the profile photo in Startups fragm…
V1rex Feb 16, 2019
1c065fd
Fixed the problem of not updating the profile photo in Mentors fragme…
V1rex Feb 16, 2019
412e5d2
Deleted and added some new icons
V1rex Feb 16, 2019
5a81fdd
Changed the UI for Startup Profile and deleted some useless icon files
V1rex Feb 16, 2019
7ff428a
Replaced some png icon to svg
V1rex Feb 16, 2019
fe63940
Changed the UI for messages
V1rex Feb 16, 2019
e5836cf
Fixed the probleme of refreshing photos in glide
V1rex Feb 16, 2019
07510ca
Changed the status color for BottomNavigation Activity
V1rex Feb 16, 2019
e9d8216
Maked MentorProfileActivity display profile photo from firebase storage
V1rex Feb 16, 2019
8d30f81
Updated the UI for startup profile activity
V1rex Feb 16, 2019
54f9ed4
Maked Startup Profile Activity display profile photo from firebase st…
V1rex Feb 16, 2019
19bf5ab
Maked the image compressed before it is showen
V1rex Feb 17, 2019
42d6a3b
Update README.md
V1rex Feb 17, 2019
ae377cf
Update README.md
V1rex Feb 17, 2019
b598ea9
Update README.md
V1rex Feb 17, 2019
fffd431
Update README.md
V1rex Feb 17, 2019
2e2c3f3
Fixed the problem of showing rotated image in SettingsActivity
V1rex Feb 17, 2019
c94ebcd
Fixed th problem of image rotation in MentorViewHolder and StartupVie…
V1rex Feb 17, 2019
8341b9f
Maked StartupRegister Activity compress bitmap before upload
V1rex Feb 17, 2019
8d462d2
Maked MentorRegister Activity compress bitmap before uploading it
V1rex Feb 17, 2019
c7c5752
Update README.md
V1rex Feb 17, 2019
bb8e93e
Update README.md
V1rex Feb 18, 2019
55406ed
Update README.md
V1rex Feb 23, 2019
2edc314
Update README.md
V1rex Feb 23, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 35 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,43 @@
# Smart Incubator
![App Slogon](https://i.imgur.com/yQcz4Vk.png)

![](https://image.ibb.co/nQT12d/Screenshot_20180528_212525.png)

## Table of contents
* [General info](#general-info)
* [Screenshots](#screenshots)
* [Technologies](#technologies)
* [Features](#features)
* [Setup](#setup)
* [Code examples in the app](#code-examples-in-the-app)

App features :
## General info
Smart incubator is an app that allows startups to find people that will help them grow . Those people are called in the app "Mentors" and every mentor have a specialty which make him able to search about startups that needs his specialty and contact them by sending messages or meetings in the app.

## Screenshots
![Screenshot 1](https://i.imgur.com/7DCO3r8.png)

## Technologies
* This apps uses firebase as backend service for the app .


## Features
* Getting a list of mentors and startups .
* Searching in a list of mentors (by : specialty) and startups (by : need) .
* Sending messages between the users (mentors and startups) in the app .
* Sending meetings invitations between the users (mentors and startups) in the app .
* Adding a Profile Photo for the startups and mentors .

## Code examples in the app
This app show many codes example in kotlin on :
* Login / Register from firebase auth .
* Use Firebase RecyclerView Adapter for show showing list of Mentors, Startups, Meetings and Messages .
* Sending Meetings between Mentors and Startups by Firebase Realtime Database .
* Sending Messages between users by Firebase Realtime Database .
* Retrieving an ArrayList of object from firebase realtime database , searching in them and returning a list on RecyclerView .
* Changing informations in firebase realtime database (example : settings pages) .
* Uploading a photo to firebase storage
* Retrieving photos from firebase storage using Glide Library

- Login / Register from firebase
- Logout from app in Firebase account
- Use Firebase RecyclerView Adapter for show showing list of Mentors , Startups and Meetings.
- Sending Meetings between Mentors and Startups by Firebase Realtime Database .
- Search in Mentors and Startups by need or speciality
- Settings page for Informations about the startups or mentors .

# Setup firebase:
1. Create an new firebase project
Expand All @@ -27,21 +54,6 @@ App features :
}
```



# Screenshots!
![app icon](https://image.ibb.co/kMexay/Screenshot_20180528_212525.png)

![app icon](https://preview.ibb.co/etFQTJ/Screenshot_20180528_212559.png)

![app icon](https://image.ibb.co/fBBM2d/Screenshot_20180528_212603.png)

![app icon](https://preview.ibb.co/ktRcay/Screenshot_20180528_212532.png)

![app icon](https://preview.ibb.co/dZijNd/Screenshot_20180528_212540.png)

![app icon](https://preview.ibb.co/cRzr2d/Screenshot_20180528_212545.png)

License
----

Expand Down
10 changes: 10 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,20 @@ dependencies {
implementation 'com.google.firebase:firebase-auth:16.1.0'
implementation 'com.google.firebase:firebase-database:16.0.6'
implementation 'com.google.firebase:firebase-messaging:17.3.4'
implementation 'com.google.firebase:firebase-storage:16.0.5'
implementation 'com.android.support:support-vector-drawable:27.1.1'
implementation 'com.android.support:support-v4:27.1.1'
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.android.support:cardview-v7:27.1.1'
implementation 'com.firebaseui:firebase-ui-database:3.3.1'
implementation 'com.firebaseui:firebase-ui-storage:3.3.1'

implementation 'de.hdodenhof:circleimageview:3.0.0'
implementation 'com.github.bumptech.glide:glide:4.9.0'
implementation 'id.zelory:compressor:2.1.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'


testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
Expand All @@ -52,4 +61,5 @@ dependencies {
apply plugin: 'com.google.gms.google-services'
repositories {
mavenCentral()
google()
}
2 changes: 1 addition & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

<application
android:allowBackup="true"
Expand All @@ -29,7 +30,6 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Activities.MainActivity" />
<activity android:name=".Activities.LoginActivity" />
<activity android:name=".Activities.RegisterActivity" />
<activity
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
package com.v1rex.smartincubator.Activities

import android.content.Intent
import android.os.Build
import android.support.design.widget.BottomNavigationView
import android.support.v7.app.AppCompatActivity
import android.support.v7.widget.Toolbar
import android.os.Bundle
import android.support.annotation.RequiresApi
import android.view.Menu
import android.view.MenuItem
import com.bumptech.glide.Glide

import com.google.firebase.auth.FirebaseAuth
import com.v1rex.smartincubator.Fragments.MentorsFragment
Expand All @@ -15,6 +18,10 @@ import com.v1rex.smartincubator.Fragments.MessagesFragment
import com.v1rex.smartincubator.Fragments.StartupsFragment
import com.v1rex.smartincubator.R
import kotlinx.android.synthetic.main.activity_botton_navigation.*
import android.support.v4.content.ContextCompat
import android.view.WindowManager



class BottonNavigationActivity : AppCompatActivity() {

Expand Down Expand Up @@ -58,6 +65,14 @@ class BottonNavigationActivity : AppCompatActivity() {
bottom_navigation.setOnNavigationItemSelectedListener(navListener)
supportFragmentManager.beginTransaction().replace(R.id.fragment_container, StartupsFragment()).commit()

val window = this.getWindow()

window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)

window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)

window.setStatusBarColor(ContextCompat.getColor(this, R.color.colorAccentDark))

}

override fun onCreateOptionsMenu(menu: Menu): Boolean {
Expand All @@ -77,7 +92,8 @@ class BottonNavigationActivity : AppCompatActivity() {
}
R.id.action_logout -> {
FirebaseAuth.getInstance().signOut()
startActivity(Intent(this@BottonNavigationActivity, MainActivity::class.java))
startActivity(Intent(this@BottonNavigationActivity, LoginActivity::class.java))
finish()
return super.onOptionsItemSelected(item)
}
else -> return super.onOptionsItemSelected(item)
Expand All @@ -86,6 +102,8 @@ class BottonNavigationActivity : AppCompatActivity() {
}

override fun onBackPressed() {

finish()
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,8 @@ class LoginActivity : AppCompatActivity() {
user_login_edit_text.visibility = View.INVISIBLE
password_login_edit_text.visibility = View.INVISIBLE
login_action_btn.visibility = View.INVISIBLE
input_layout_email.visibility = View.INVISIBLE
input_layout_password.visibility = View.INVISIBLE
progress_login.visibility = View.VISIBLE

mAuth!!.signInWithEmailAndPassword(emailOrUserName, password).addOnCompleteListener(this) { task ->
Expand All @@ -104,15 +106,15 @@ class LoginActivity : AppCompatActivity() {
user_login_edit_text.visibility = View.VISIBLE
password_login_edit_text.visibility = View.VISIBLE
login_action_btn.visibility = View.VISIBLE
input_layout_email.visibility = View.VISIBLE
input_layout_password.visibility = View.VISIBLE
input_layout_email.error = getString(R.string.error_action_loging_failed)

} else {

loginView.visibility = View.GONE
val intent = Intent(this@LoginActivity, BottonNavigationActivity::class.java)
startActivity(intent)
finish()

}
}

Expand Down Expand Up @@ -151,7 +153,6 @@ class LoginActivity : AppCompatActivity() {
}

override fun onBackPressed() {
startActivity(Intent(this, MainActivity::class.java))
finish()
}

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ import android.widget.ImageButton
import android.widget.LinearLayout
import android.widget.TextView
import android.widget.TimePicker
import com.bumptech.glide.Glide
import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.bumptech.glide.request.RequestOptions

import com.google.firebase.auth.FirebaseAuth
import com.google.firebase.database.DataSnapshot
Expand All @@ -22,6 +25,8 @@ import com.google.firebase.database.DatabaseReference
import com.google.firebase.database.FirebaseDatabase
import com.google.firebase.database.ValueEventListener
import com.google.firebase.iid.FirebaseInstanceId
import com.google.firebase.storage.FirebaseStorage
import com.google.firebase.storage.StorageReference
import com.v1rex.smartincubator.Model.Meeting
import com.v1rex.smartincubator.Model.Mentor
import com.v1rex.smartincubator.Model.User
Expand All @@ -39,6 +44,13 @@ class MentorProfileActivity : AppCompatActivity() {
private var mAuth: FirebaseAuth? = null
private var user: User? = null

private val storage : FirebaseStorage = FirebaseStorage.getInstance()
private val storageReference : StorageReference = storage.reference

private val IMAGE_PHOTO_FIREBASE : String = "firebase"

private val REFERENCE_PROFILE_PHOTO : String = "profileImages/"

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_mentor_profile)
Expand Down Expand Up @@ -116,5 +128,15 @@ class MentorProfileActivity : AppCompatActivity() {
mentor_email_profile.text = mentor!!.mEmail
mentor_number_phone_profile.text = mentor!!.mPhoneNumber

var referrencePhoto : StorageReference = storageReference.child(REFERENCE_PROFILE_PHOTO + mentor!!.mUserId)
if(mentor!!.mProfilePhoto == IMAGE_PHOTO_FIREBASE){
Glide.with(baseContext).load(referrencePhoto)
.apply(RequestOptions.skipMemoryCacheOf(true))
.apply(RequestOptions.diskCacheStrategyOf(DiskCacheStrategy.NONE))
.placeholder(R.drawable.profile)
.fitCenter()
.into(profile_photo_mentor)
}

}
}
Loading