Effective-office

Goal 🎯

The main goal of the project is the automation of various processes in the office and providing interesting statistics for employees.

Technical goal: 🔧

The main technical task of the project is to create a multi-module application on Kotlin, trying to focus on the most modern and relevant solutions in this language. Throughout the project, we tried to use other languages and technologies as little as possible.

Project Structure: 💫

Pre-requisite: Notion. Note: due to the incompleteness of the database, placeholders may appear in applications

Effective-Tablet

An application for booking meeting rooms on a tablet.

Office-Elevator

Mobile cross-platform application for interacting with the elevator in the office. Allows you to call the elevator remotely, after logging in through your google account

Office-Elevator

Mobile cross-platform application for interacting with the elevator in the office. Allows you to call the elevator remotely, after logging in through your google account

EffectiveOfficeBackend

Backend application which will provide abilities to book workspaces and meeting rooms, edit workspaces information, authentication and more! It was important to us that the application synchronizes with Google Calendar

Contributing 🙌

Our project is open-source, so we welcome quality contributions! To make your contribution to the project efficient and easy to check out, you can familiarize yourself with the project's git flow and commit rules. If you want to solve an existing issue in the project, you can read the list in the issues tab in the repository.

Git flow

The best way to start helping with project development is to do a fork of our project, then make changes and make a pull-request to the to the appropriate branch to which your contribution relates.

Rules on commit messages' content

  1. Use the body to explain what and why vs. how
    • Please make an extra effort to explain why changes are needed for every non-trivial modification.
  2. If your pull request solves problem from the issues, please leave a link to it in the body of the pull request
  3. If possible, try to avoid commits like "Fixed after check " and replace them with meaningful ones.
  4. Keep the subject (the first line of the commit message) clean and readable. All additional information and directives for external tools should be moved to the body of the message.

Rules on commit messages' style/formatting

  1. Before the subject line, add a symbol to show what your commit contains
  • [+] - Addition
  • [-] - Delete
  • [~] - Fix, edit
  1. Separate subject from body with a blank line
  2. Do not capitalize the subject line
  3. Do not end the subject line with a period
  4. Use the imperative mood in the subject line

Guidelines for starting up: 💻

In order to build all parts of project, you will need JDK and Android Studio. We are using this versions:

Android Studio Flamingo 2022.2.1 Patch 2

JDK: Version 11.0.15

How to run

  • You need Android Studio Flamingo 2022.2.1 Patch 2
  • Read the backend documentation
  • Add apiKey=<YourKey> in local.properties file, for example apiKey="72288ebc5b893cc92a76c701c6b700b6"
  • Run -> Run 'app'

Running an application using gradle: ▶️

  1. Open the terminal and go to the root directory of the project.

  2. Run the ./gradlew assembleDebug command to assemble the project in debug mode.

  3. To run the application on an emulator or connected device, run the ./gradlew installDebug command.

  4. If you want to run tests, run the command ./gradlew test.

  5. If you want to assemble the APK file for the release version, run the command ./gradlew assembleRelease.

Authors: ✍️