This project is part of the Mobile Application Development 2023 course assignment at THSS. The goal of this project is to create a native Android application using Java for a campus news sharing platform. The backend is developed via Flask.
This project is developed by:
- frontend: THSS-Android-2023/frontend (github.com)
- backend: THSS-Android-2023/backend (github.com)
- backend
- Clone the repository:
git clone git@github.com:THSS-Android-2023/frontend.git
- Install requirements:
pip install -r requirements
- Init database:
python manage.py init_db
- Run server:
python manage.py runserver -h x.x.x.x -p xxxx
- Clone the repository:
- frontend
- Clone the repository:
git clone git@github.com:THSS-Android-2023/backend.git
- Open the config file
app/src/main/java/com/example/internet/util/Global.java
and change theAPI_URL
andEMPTY_AVATAR_URL
- Open the project in Android Studio, then build and run the application on an Android emulator or physical device.
- Clone the repository:
Click here to download our short demo.
This project is licensed under the MIT License.
This project relies on the following third-party libraries for various functionalities:
-
frontend
- com.google.android.material:material:1.4.0 (Apache-2.0)
- androidx.constraintlayout:constraintlayout:1.1.3 (Apache-2.0)
- com.squareup.okhttp3:okhttp:4.10.0 (Apache-2.0)
- androidx.test.ext:junit:1.1.0 (Apache-2.0)
- androidx.test.espresso:espresso-core:3.1.1 (Apache-2.0)
- com.squareup.picasso:picasso:2.71828 (Apache-2.0)
- de.hdodenhof:circleimageview:3.1.0 (Apache-2.0)
- com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.4 (Apache-2.0)
- com.jakewharton:butterknife:10.2.3 (Apache-2.0)
- com.jakewharton:butterknife-compiler:10.2.3 (Apache-2.0)
- com.github.stfalcon-studio:Chatkit:0.4.1 (Apache-2.0)
- com.google.code.gson:gson:2.8.9 (Apache-2.0)
- androidx.core:core-ktx:1.7.0 (Apache-2.0)
- io.noties.markwon:core:4.6.2 (Apache-2.0)
- io.noties.markwon:editor:4.6.2 (Apache-2.0)
- com.zhihu.android:matisse:0.5.3-beta3 (Apache-2.0)
- com.jaeger.ninegridimageview:library:1.0.2 (Apache-2.0)
- com.jaredrummler:material-spinner:1.3.1 (Apache-2.0)
- com.nex3z:toggle-button-group:1.2.0 (Apache-2.0)
- androidx.swiperefreshlayout:swiperefreshlayout:1.1.0 (Apache-2.0)
- com.google.android.exoplayer:exoplayer:2.15.1 (Apache-2.0)
- com.airbnb.android:lottie:3.7.0 (Apache-2.0)
-
backend
- Flask==1.1.2 (BSD-3-Clause)
- Flask-SQLAlchemy==2.5.1 (BSD-3-Clause)
- Werkzeug==0.16.1 (BSD-3-Clause)
- flask-cors==3.0.10 (MIT)
- flasgger==0.9.5 (BSD-3-Clause)
- flask-script==2.0.6 (MIT)
- pyjwt==1.7.1 (MIT)
- jinja2==3.0.3 (BSD-3-Clause)
- itsdangerous==1.1.0 (BSD-3-Clause)
- click==8.1.3 (BSD-3-Clause)
- SQLAlchemy==1.4.41 (MIT)
- Six==1.16.0 (MIT)
- blinker==1.5 (BSD-3-Clause)
- pytz==2022.1 (MIT)
- setuptools==49.2.1 (MIT)
- tzlocal==4.2 (MIT)
- PyYAML==5.4.1 (MIT)
- jsonschema==4.16.0 (MIT)
- mistune==2.0.4 (BSD-2-Clause)
- beautifulsoup4==4.11.1 (MIT)
- alembic==1.8.1 (MIT)
- Mako==1.2.3 (MIT)
- colorama==0.4.5 (MIT)
- MarkupSafe==2.1.1 (BSD-3-Clause)
- attrs==22.1.0 (MIT)
- pyrsistent==0.18.1 (MIT)
- greenlet==1.1.3 (MIT)
- tzdata==2022.6 (Public Domain)
- pytz-deprecation-shim==0.1.0.post0 (MIT)
- soupsieve==2.3.2.post1 (MIT)
- python-dateutil==2.8.2 (BSD-3-Clause)
- gunicorn (MIT)
- Pillow==9.5.0 (HPND)
These libraries play important roles in the project and help us achieve the desired functionalities.