Student Portal is an app that help facilitate communication between students and professors.
It's a demo application based on modern Android application tech-stacks and MVVM architecture.
And fetching data from the network and integrating persisted data in the database via repository pattern.
you can download the app and test it now from Google Play.
To login as Studnet:
Username : [email protected]
Password : 123456789
To login as Professor:
Username : [email protected]
Password : 123456789
Login Screen | Group | Subjects | Events | More Profile |
---|---|---|---|---|
- Show group for current students.
- Can post, comment or reply in the group.
- Show current year subjects.
- Show professor’s assignments, sources and marks.
- Show current year table and results.
- Show current events in the college.
- Show group for each year.
- Can post, comment or reply in the group.
- Show assignments and source for professor’s subjects.
- add Assignment and sources for professor’s subjects.
- Show lsit of students in each grade.
- Show and edit student’s year work like attendance, midterm, etc.
- Predict students’ final grade based on his year work.
- Minimum SDK level 21, built using Java.
- JetPack
- Navigation Component - handle navigation of the app
- LiveData - notify domain layer data to views.
- Lifecycle - dispose of observing data when lifecycle state changes.
- ViewModel - UI related data holder, lifecycle aware.
- Room Persistence- construct a database using the abstract layer.
- Architecture
- MVVM Architecture (View - DataBinding - ViewModel - Model)
- Repository pattern
- Retrofit2 & OkHttp3 - construct the REST APIs and paging network data.
- Glide - loading images.
- Photo View - help produce an easily usable implementation of a zooming Android Image .
- Power Spinner - A lightweight dropdown popup spinner with fully customizable arrow and animations.
- Pretty Time - for createing human readable, relative timestamps.
- Logger - logging.
- Tab Layout Helper - A small library which helps to use Tab Layout with View Pager more easily..
- Material Component - Material design components like cardView.
The App is based on MVVM architecture and a repository pattern.
The app uses a RESTful API built by us using Laravel.
and has been dployed to Heroku.
Designed and developed by 2020 Basem Osama
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.