Skip to content

An educational project for the development of Android applications in Java and Kotlin from Eltex Academy. The application is a social network that will allow users to create posts and events, indicate their places of work and much more. The project uses a home server for backend deployment.

License

Notifications You must be signed in to change notification settings

LebedevSergeyVach/EltexSocialMedia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Eltex Social Media


πŸš€ The project is written in the Kotlin programming language

Educational project Development of Android applications in Java and Kotlin from Eltex Academy. This project is based on the MVVM architecture (Model-View-ViewModel). The MVI (Model-View-Intent) architecture is used to process and download data from the server.

The project implements working with the server to perform CRUD operations (Create, Read, Update, Delete) with posts and events. The Retrofit2 library is used to interact with the server along with Coroutines, which allows asynchronous requests to be executed without blocking the main thread. To implement the DI Dependency Injection, the Dagger2-Hilt library and the Singleton antipattern removal Factory are used.

To work with the local database SQLite, ORM ROOM is used together with ksp. The Prepopulate your Room database is used in the project for convenient testing. Using Jetpack Preferences DataStore to work with local files on the device.

To work with requests to the server and process the received data in JSON format, the Retrofit2 and OkHttp3 libraries from Square + RxJava3 from ReactiveX are used to implement reactive programming, instead of accumulating Callbacks. The project has been rewritten from reactive programming on Retrofit2 + RxJava3 to standard Retrofit2 + Coroutines (suspend).

The project uses several types of architecture patterns and paradigms: DI Dependency Injection, Builder, Observable, Observer, Adapter, Dependency Injection, Single Activity Architecture, Modular Architecture, Reactive Programming and Factory.

To animate the loading of a list of posts or events in the UI, the SkeletonLayout library is used: displaying skeletons during initial loading and loading of the next page. The Glide library is used to manage multimedia and download images from the server for display in the UI.

Basic settings for the application's appearance are implemented, such as: language selection (Russian, English, system) and theme selection (dark, light, system). The ability to enable and disable vibration feedback in the application, display the size and clear the application cache has also been added.


πŸ–₯️ Server Infrastructure

The project uses a home server for backend deployment. This solution provides full control over the infrastructure, flexibility in configuration, and cost savings on cloud resources.

πŸ› οΈ Key Technologies and Tools

  • Docker and Docker Compose: Used for containerization and service management. All system components (backend, database, web server) are deployed in isolated containers, simplifying deployment and scaling.
  • Debian: The server's operating system. Chosen for its stability, security, and extensive customization options.
  • PostgreSQL: A powerful and reliable relational database used for storing application data.
  • Spring Boot: A framework for backend development in Kotlin. It ensures high performance, ease of development, and seamless integration with other system components.
  • Nginx: A web server and reverse proxy server. Used for request routing, load balancing, and serving static files.
  • HTTPS: Ensures secure communication between the client and server using SSL/TLS certificates.
  • ImageKit.io: A service for image optimization and delivery. Integrated into the project for fast media file loading.

πŸ“¦ Deployment

The project is deployed on the home server using docker-compose, which automates the launch of all necessary services. Below is an example configuration:

πŸ”’ Security

  • All external requests pass through Nginx, which provides protection against DDoS attacks and filters unwanted traffic.
  • Data encryption is ensured using HTTPS with certificates from Let's Encrypt.
  • The PostgreSQL database is configured to use SSL for encrypted connections.

🌐 Integration with ImageKit.io

The project uses ImageKit.io for image optimization and delivery. This allows:

  • Reducing server load through caching and CDN.
  • Automatically optimizing images for different devices and resolutions.
  • Simplifying media file management through a user-friendly interface.

πŸ“„ Documentation for the project documentation.

πŸ–ΌοΈ View images of the mobile app Eltex Social Media.

License: AGPL v3 Version

πŸš€ The stack of technologies used

Kotlin Retrofit OkHttp Glide Dagger Hilt Google Material Design AndroidX Jetpack Gradle SkeletonLayout
Kotlin Retrofit OkHttp Glide Dagger Hilt Material Design AndroidX Jetpack Gradle Skeleton Layout

Important

πŸ“± Project Description

An educational project for the development of Android applications in Java and Kotlin from Eltex Academy. The application is a social network that will allow users to create posts and events, leave comments and share their opinions under posts, indicate their places of work and much more.

Note

✨ Features and functionality of the application

πŸ“ Posts

  • Create, edit, and delete posts:
    • Write a text for a new post.
    • Attach an image to a new post.
    • Edit or delete an existing post.
  • Watch the feed of posts from all users.
  • Please like the post.
  • Share your opinion in the comments.

πŸ“… Events

  • Create, edit, and delete events:
    • Write a text for a new event.
    • Choose the date and time for the event.
    • Attach a link or an address for the event.
    • Attach an image to a new event.
    • Edit or delete existing events.
  • Watch the feed of events from all users.
  • Please likes and participate in the event.

πŸ’­ Comments

  • Share your opinion and information with other users of the app under the posts.
    • Write a new comment.
    • Delete your comments.
  • Please like other comments.

πŸ‘€ Account

  • Registering a new account:
    • Specify the username, name, and avatar for your account.
  • Manage your posts, events, and work/study information.

πŸ‘₯ Profile

  • View the profile of other users.
  • View all the posted information from the user.
  • See the list of all users of the application.

🏒 Information about places of work

  • Create new information about your place of work/study:
    • Please provide information about the company: the name, your position, the reference and the period of employment.
  • See other users' places of work/study.

βš™οΈ Settings

  • Choose an application theme:
    • Light.
    • Dark .
    • System.
  • Choose the application language:
    • English.
    • Russian.
    • System.
  • Turn on and off the vibration response in the app.
  • Keep track of the cache size and also clear it in the application.
  • Keep an eye on all app updates.

🚧 The project is under active development!

Application version 2.0.0 At the moment, work is underway to improve the functionality of the application, add new features to the project, as well as solve possible problems and bugs.

πŸ“… Further development plans:

  • Add features to the app for working with voice posts/events and videos.
  • Improve caching of data downloaded from the server.
  • Implement a fragment displaying data about a post/event:
    • Displaying information about a post/event;
    • Users who liked/participated;
    • Comments;
    • Displaying the location/event on the map;
    • Mentioning other users when creating a post/event.

🀝 Project development assistance:

  • If you find a bug or have an idea for improvement, please create issue.
  • You can also suggest your changes or implement new features/functions via pull request.

Warning

πŸ”§ Compilation of the project

In order to build a project, you need to create secrets.properties in the root of the project:

   API_KEY="The key to access the server" Name: Authorization (apiKey) String
   URL_SERVER="the URL of the connected server" String

Anatoly Spitchenko - Android developer and Course Teacher

Lebedev Sergey Vyacheslav – Student of the course



Π‘ΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΌΠ΅Π΄ΠΈΠ° ΡΠ΅Ρ‚ΡŒ Eltex


πŸš€ ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ написан Π½Π° языкС программирования Kotlin.

ΠžΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Android-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Java ΠΈ Kotlin ΠΎΡ‚ Eltex Academy. Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ основан ΠΏΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ MVVM (Model-View-ViewModel). Для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… с сСрвСра ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° MVI (Model-View-Intent).

Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° с сСрвСром для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ CRUD (Create, Read, Update, Delete) с постами ΠΈ событиями. Для взаимодСйствия с сСрвСром ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Retrofit2 вмСстС с Coroutines, Ρ‡Ρ‚ΠΎ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ асинхронныС запросы Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ основного ΠΏΠΎΡ‚ΠΎΠΊΠ°. Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ зависимостСй DI ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Dagger2-Hilt ΠΈ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Π€Π°Π±Ρ€ΠΈΠΊΠ° для удалСния Π°Π½Ρ‚ΠΈΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Singleton.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с локальной Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… SQLite ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ORM ROOM вмСстС с ksp. The Prepopulate your Room database ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ для удобства тСстирования. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Jetpack Preferences DataStore для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π½Π° устройствС.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с запросами Π½Π° сСрвСр ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Retrofit2 ΠΈ OkHttp3 ΠΎΡ‚ Square + RxJava3 ΠΎΡ‚ ReactiveX для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ программировая, вмСсто Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ…ΡΡ Callback - ΠΎΠ². ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ пСрСписан с Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ программирования Π½Π° Retrofit2 + RxJava3 Π½Π° стандартныС Retrofit2 + Coroutines (suspend).

Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ нСсколько Ρ‚ΠΈΠΏΠΎΠ² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ² ΠΈ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌ: DI Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ зависимостСй, Π‘Ρ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒ, ΠΠ°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΡ‹ΠΉ, ΠΠ°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»ΡŒ, АдаптСр, Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ зависимостСй, АрхитСктура с ΠΎΠ΄Π½ΠΎΠΉ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ, ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, Π Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π€Π°Π±Ρ€ΠΈΠΊΠ°.

Для Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² UI списка Π΄Π°Π½Π½Ρ‹Ρ… постов ΠΈΠ»ΠΈ событий ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° SkeletonLayout: ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ скСлСтонов ΠΏΡ€ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ страницы. Для управлСния ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ° ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с сСрвСра для отобраТСния Π² UI ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Glide.

Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ настройки внСшнСго Π²ΠΈΠ΄Π° прилоТСния, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ: Π²Ρ‹Π±ΠΎΡ€ языка (Русский, Английский, систСмный) ΠΈ Π²Ρ‹Π±ΠΎΡ€ Ρ‚Π΅ΠΌΡ‹ (тСмная, свСтлая, систСмная). Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²ΠΈΠ±Ρ€ΠΎΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΏΠΎΠΊΠ°Π· Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ очистка кэша прилоТСния.


πŸ–₯️ БСрвСрная инфраструктура

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ домашний сСрвСр для развСртывания бэкСнда. Π­Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ обСспСчиваСт ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ инфраструктурой, Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ Π² настройкС ΠΈ экономию Π½Π° ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… рСсурсах.

πŸ› οΈ ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ инструмСнты

  • Docker ΠΈ Docker Compose: Для ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ управлСния сСрвисами. ВсС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ систСмы (бэкСнд, Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…, Π²Π΅Π±-сСрвСр) Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°Ρ…, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.
  • Debian: ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма сСрвСра. Π’Ρ‹Π±ΠΎΡ€ обусловлСн ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌΠΈ возмоТностями для настройки.
  • PostgreSQL: ΠœΠΎΡ‰Π½Π°Ρ ΠΈ надСТная рСляционная Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для хранСния Π΄Π°Π½Π½Ρ‹Ρ… прилоТСния.
  • Spring Boot: Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ бэкСнда Π½Π° Kotlin. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, простоту Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ систСмы.
  • Nginx: Π’Π΅Π±-сСрвСр ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ прокси-сСрвСр. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ запросов, балансировки Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ обслуТивания статичСских Ρ„Π°ΠΉΠ»ΠΎΠ².
  • HTTPS: Для обСспСчСния бСзопасного соСдинСния ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ SSL/TLS сСртификат.
  • ImageKit.io: БСрвис для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ доставки ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ для быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠ΅Π΄ΠΈΠ°Ρ„Π°ΠΉΠ»ΠΎΠ².

πŸ“¦ Π Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅

Для развСртывания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° домашнСм сСрвСрС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ docker-compose, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ запуск всСх Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… сСрвисов. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:

πŸ”’ Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

  • ВсС внСшниС запросы проходят Ρ‡Π΅Ρ€Π΅Π· Nginx, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ DDoS-Π°Ρ‚Π°ΠΊ ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°.
  • Для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ HTTPS с сСртификатами ΠΎΡ‚ Let's Encrypt.
  • Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… PostgreSQL настроСна Π½Π° использованиС SSL для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ соСдинСний.

🌐 Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с ImageKit.io

Для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ доставки ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ сСрвис ImageKit.io. Π­Ρ‚ΠΎ позволяСт:

  • Π£ΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° сСрвСр Π·Π° счСт ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ CDN.
  • АвтоматичСски ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ изобраТСния для Ρ€Π°Π·Π½Ρ‹Ρ… устройств ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ.
  • Π£ΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Π΄ΠΈΠ°Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ интСрфСйс.

πŸ“„ ДокумСнтация ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡƒ documentation.

πŸ–ΌοΈ ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ изобраТСния мобильного прилоТСния Eltex Social Media.

License: AGPL v3 Version

πŸš€ Π‘Ρ‚Π΅ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ

Kotlin Retrofit OkHttp Glide Dagger Hilt Google Material Design AndroidX Jetpack Gradle SkeletonLayout
Kotlin Retrofit OkHttp Glide Dagger Hilt Material Design AndroidX Jetpack Gradle Skeleton Layout

Important

πŸ“± ОписаниС прилоТСния

ΠžΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Android-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Java ΠΈ Kotlin ΠΎΡ‚ Eltex Academy. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ прСдставляСт собой ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ, которая ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ посты ΠΈ события, ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Π°Ρ‚Ρ€ΠΈΠΈ ΠΈ Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своим ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄ постами, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ мСста своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Note

✨ ВозмоТности ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» прилоТСния

πŸ“ ΠŸΠΎΡΡ‚Ρ‹

  • Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈ удаляйтС посты:
    • ΠŸΠΈΡˆΠΈΡ‚Π΅ тСкст для Π½ΠΎΠ²ΠΎΠ³ΠΎ поста.
    • ΠŸΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»ΡΠΉΡ‚Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡƒ посту.
    • Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈΠ»ΠΈ удаляйтС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ пост.
  • Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π»Π΅Π½Ρ‚Ρƒ постов ΠΎΡ‚ всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.
  • Π‘Ρ‚Π°Π²ΡŒΡ‚Π΅ Π»Π°ΠΉΠΊ посту.
  • Π”Π΅Π»ΠΈΡ‚Π΅ΡΡŒ своим ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ Π² коммСнтариях.

πŸ“… Бобытия

  • Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈ удаляйтС события:
    • ΠŸΠΈΡˆΠΈΡ‚Π΅ тСкст для Π½ΠΎΠ²ΠΎΠ³ΠΎ события.
    • Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Π΄Π°Ρ‚Ρƒ ΠΈ врСмя для ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ события.
    • ΠŸΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»ΡΠΉΡ‚Π΅ ссылку ΠΈΠ»ΠΈ адрСс для ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ события.
    • ΠŸΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»ΡΠΉΡ‚Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡƒ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ.
    • Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈΠ»ΠΈ удаляйтС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ событиС.
  • Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π»Π΅Π½Ρ‚Ρƒ событий ΠΎΡ‚ всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.
  • Π‘Ρ‚Π°Π²ΡŒΡ‚Π΅ Π»Π°ΠΉΠΊΠΈ ΠΈ участвуйтС Π² мСроприятии.

πŸ’­ ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

  • Π”Π΅Π»ΠΈΡ‚Π΅ΡΡŒ ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ прилоТСния ΠΏΠΎΠ΄ постами.
    • ΠŸΠΈΡˆΠΈΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ.
    • УдаляйтС свои ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ.
  • Π‘Ρ‚Π°Π²ΡŒΡ‚Π΅ Π»Π°ΠΉΠΊΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ коммСнтариям.

πŸ‘€ Аккаунт

  • РСгистрируСтС Π½ΠΎΠ²Ρ‹ΠΉ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚:
    • Π£ΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ Π»ΠΎΠ³ΠΈΠ½, имя ΠΈ Π°Π²Π°Ρ‚Π°Ρ€ для Π’Π°ΡˆΠ΅Π³ΠΎ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°.
  • УправляйтС своими постами, событиями ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅/ΡƒΡ‡Π΅Π±Π΅.

πŸ‘₯ ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŒ

  • ΠŸΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.
  • ΠŸΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΠΉΡ‚Π΅ всю Π²Ρ‹Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
  • Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ список всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ прилоТСния.

🏒 Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ мСстах Ρ€Π°Π±ΠΎΡ‚Ρ‹

  • Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ мСстС Π’Π°ΡˆΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹/ΡƒΡ‡Π΅Π±Ρ‹:
    • Π£ΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ: Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Π’Π°ΡˆΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡ‚ΡŒ, ссылка ΠΈ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ трудоустройства.
  • Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ мСста Ρ€Π°Π±ΠΎΡ‚Ρ‹/ΡƒΡ‡Π΅Π±Ρ‹ Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

βš™οΈ Настройки

  • Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΌΡƒ прилоТСния:
    • БвСтлая.
    • ВСмная.
    • БистСмная.
  • Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ язык прилоТСния:
    • Русский.
    • Английский.
    • БистСмный.
  • Π’ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ Π²ΠΈΠ±Ρ€ΠΎΠΎΡ‚ΠΊΠ»ΠΈΠΊ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
  • Π‘Π»Π΅Π΄ΠΈΡ‚Π΅ Π·Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ кэша, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‡ΠΈΡ‰Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
  • Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π·Π° всСми обновлСниями прилоТСния.

🚧 ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ находится Π² стадии Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ!

ВСрсия прилоТСния 2.0.0 На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ прилоТСния, добавлСния Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΠΈΡˆΠ΅ΠΊ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈ Π±Π°Π³ΠΎΠ².

πŸ“… ΠŸΠ»Π°Π½Ρ‹ дальнСйшСго развития:

  • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с голосовыми постами/события ΠΈ Π²ΠΈΠ΄Π΅ΠΎ.
  • Π£Π»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… с сСрвСра.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ постС/событии:
    • ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ постС/событии;
    • ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ, ΠΏΠΎΡΡ‚Π°Π²ΠΈΠ²ΡˆΠΈΠ΅ Π»Π°ΠΉΠΊ/участиС;
    • ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ;
    • ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ мСста/провСдСния события Π½Π° ΠΊΠ°Ρ€Ρ‚Π΅;
    • Π£ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΈ создании поста/события.

🀝 ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

  • Если Π’Ρ‹ нашли Π±Π°Π³ ΠΈΠ»ΠΈ Ρƒ вас Π΅ΡΡ‚ΡŒ идСя для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ, поТалуйста, создайтС issue.
  • Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ свои измСнСния ΠΈΠ»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΠΈΡˆΠ΅ΠΊ/Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· pull request.

Warning

πŸ”§ ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ secrets.properties Π² ΠΊΠΎΡ€Π½Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

   API_KEY="ΠšΠ»ΡŽΡ‡ для доступа ΠΊ сСрвСру" Name: Authorization (apiKey) String
   URL_SERVER="URL ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠΎΠ³ΠΎ сСрвСра" String

Анатолий Π‘ΠΏΠΈΡ‚Ρ‡Π΅Π½ΠΊΠΎ - Android-Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΡŒ курса


About

An educational project for the development of Android applications in Java and Kotlin from Eltex Academy. The application is a social network that will allow users to create posts and events, indicate their places of work and much more. The project uses a home server for backend deployment.

Topics

Resources

License

Stars

Watchers

Forks

Languages