Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Art-sharing Android app where the community of users can post, bookmark, and provide feedback on members’ works, as well as share these artworks on their Facebook accounts

NotificationsYou must be signed in to change notification settings

memgonzales/artemis-art-app

Repository files navigation

badgebadgebadgebadgebadge

Artemis is anart-sharing platform where the community can share and provide feedback on members’ works. While unregistered users are limited to viewing posted artworks and searching for posts and users, they can opt to register to maximize the features of the app. Registered users can log in to post their art and showcase some of their selected works on their profile using the Highlights feature. Moreover, they can provide their feedback on other artworks posted in the community by giving an upvote or leaving a comment.

Users also have the option to bookmark their favorite artworks made by other users so that they can view or return to them at a later time. Additionally, they can share posts on their Facebook accounts through its application programming interface (API). Users can search for a post by means of tags (e.g., “3D,” “watercolor,” and “pixel art”) and follow other users to see their posts in a dedicated section on their feed.

The source code documentation can be accessed through the following website:https://memgonzales.github.io/artemis-art-app/.

Task

Artemis is the major course output in a mobile development class under Ms. Candy Joyce Espulgar of the Department of Software Technology, De La Salle University. The students are tasked to create an Android app of their choice, provided that it satisfied the minimum requirement of being connected to a remote server or featuring at least two of the following services: telephony, local database, geolocation, touch gestures that are non-native to the views used, camera usage, canvas or graphics-related applications, motion sensors, service that runs on the background, and usage of third-party APIs.

The application development is divided into two phases:

PhaseDurationDescription
1 (Beta Demo)2 weeksCompletion of front-end views or layouts for all the activities, and implementation of either at least one API feature or all the database helpers (however, only the schemas are needed for apps that use a remote database)
2 (Final Demo)3 weeksCompletion of the entire Android app (i.e., the implementation of all the features enumerated in the proposed project specifications)

Project Structure

The project consists of the following folders:

FolderDescription
.ideaContains files used by Android Studio to load project-specific configurations
appContains all the source code and resource files, the markdown file for the app- and package-level documentation, and files defining the module-specific dependencies, project-specific ProGuard rules, and developer credentials related to Google services
docsContains the HTML documentation of the project, generated from KDoc comments via Dokka
gradleContains files used by Gradle to run build automation tasks

Several Gradle-related files are also included in its root directory.

The complete project specifications can be found in the documentProject Specifications.pdf.

Running the Application

The minimum SDK supported is Android Lollipop (API Level 21), and the target SDK is Android 11 (API Level 30).

Using the APK

Download and install the APK file from the latest release. You may have to modify the security settings of your device to allow the installation of third-party apps from unknown sources.

Screenshot 2

Using the Source Code

  1. Before running the application locally, the following software are recommended (albeit not required) to be installed:

    SoftwareDescriptionLicense
    gitDistributed version control systemGNU General Public License v2.0
    Android StudioOfficial integrated development environment (IDE) for Android developmentApache License 2.0
  2. Create a copy of this repository:

    • If git is installed, type the following command on the terminal:

      git clone https://github.com/memgonzales/artemis-art-app
    • If git is not installed, click the greenCode button near the top right of the repository and chooseDownload ZIP. Once the zipped folder has been downloaded, extract its contents.

  3. Run the app using Android Studio (or any IDE that supports Android development). Alternatively, Android also provides aguide on how to build the app from the command line.

Screenshot 1

Credentials (For Testing Only)

To test the Facebook sharing feature, log into Facebook using the following credentials:

  • Email Address:tester.artemis@gmail.com
  • Password:ASDFGHJKL123;

Using this tester account is necessary since the project has yet to undergo Facebook'sApp Review. Alternatively, send a Facebook friend request toArtemis Art App to be added as a tester.

Dependencies

This project uses the following project dependencies:

DependencyVersionDescriptionLicense
com.android.tools.build:gradle4.2.1Gradle build automation toolApache License 2.0
org.jetbrains.kotlin:kotlin-gradle-plugin1.5.0Gradle plugin for Kotlin/JVM compilation tasksApache License 2.0
org.jetbrains.dokka:dokka-gradle-plugin1.5.0Gradle plugin for Dokka documentation engineApache License 2.0
com.google.gms:google-services4.3.10Plugin for processing thegoogle-servies.json fileApache License 2.0

It also uses the following module-specific dependencies:

DependencyVersionDescriptionLicense
org.jetbrains.kotlin:kotlin-stdlib1.5.0Kotlin standard library for JVMApache License 2.0
androidx.core:core-ktx1.5.0Core module providing Kotlin extensions for common framework APIs and several domain-specific extensionsApache License 2.0
androidx.appcompat:appcompat1.3.1.Library allowing access to new APIs on older API versions of the platformApache License 2.0
com.google.android.material:material1.2.1
1.4.0
Library for using APIs that provide implementations of the Material Design specificationApache License 2.0
androidx.constraintlayout:constraintlayout2.0.4Library for positioning and sizing widgets in a flexible way with relative positioningApache License 2.0
androidx.coordinatorlayout:coordinatorlayout1.1.0Library for positioning top-level application widgetsApache License 2.0
com.facebook.shimmer:shimmer0.5.0Library for adding a shimmer layout as an unobtrusive loading indicatorBSD License
de.hdodenhof:circleimageview3.1.0Library providing a circular ImageViewApache License 2.0
androidx.legacy:legacy-support-v41.0.0Library for using APIs that are either not available for older platform versions or not part of the framework APIsApache License 2.0
com.google.firebase:firebase-auth-ktx21.0.1Firebase authentication for KotlinApache License 2.0
com.google.firebase:firebase-database-ktx20.0.1Firebase database for KotlinApache License 2.0
com.google.firebase:firebase-config-ktx21.0.1Firebase remote configuration for KotlinApache License 2.0
com.google.firebase:firebase-storage-ktx20.0.0Firebase storage for KotlinApache License 2.0
com.facebook.android:facebook-android-sdk[5, 6)Facebook software development kit for AndroidFacebook Platform License
com.github.bumptech.glide:glide4.12.0Efficient media management and image loading framework that wraps media decoding, memory and disk caching, and resource poolingBSD License
MIT License (part)
Apache License 2.0
junit:junit4.+Unit testing framework for JavaEclipse Public License 1.0
androidx.test.ext:junit1.1.3AndroidX unit testing framework for JavaEclipse Public License 1.0
Apache License 2.0
androidx.test.espresso:espresso-core3.4.0Framework for writing Android user interface testsApache License 2.0
androidx.recyclerview:recyclerview1.2.1Library for displaying large sets of data in your user interface while minimizing memory usageApache License 2.0
at.favre.lib:bcrypt0.9.0Implementation of the OpenBSD Blowfish password hashing algorithm, based on jBcryptApache License 2.0

The descriptions are taken from their respective websites.

Built Using

This project uses the following languages and technologies:

  • Logic:Kotlin, a statically-typed language officially endorsed by Google as the preferred language for Android development
  • Layouts:XML, a lightweight markup language that is both human- and machine-readable
  • Database:Firebase Database, a cloud-based NoSQL database featuring real-time data synchronization

TheHTML documentation of the source code was generated fromKDoc comments via the documentation engineDokka.

Password encryption is implemented usingbcrypt andscrypt.

Authors

For queries or concerns related to the Artemis project, kindly emailartemis.appmaster@gmail.com.

Assets (images and XML-based layouts) are properties of their respective owners. Attribution is found in the filecredits.txt.

About

Art-sharing Android app where the community of users can post, bookmark, and provide feedback on members’ works, as well as share these artworks on their Facebook accounts

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors3

  •  
  •  
  •  

Languages


[8]ページ先頭

©2009-2025 Movatter.jp