Skip to content
forked from Adacis/whereami

Is a simple application to locate everybody in your company

License

Notifications You must be signed in to change notification settings

rholeczy/whereami

 
 

Repository files navigation

Logo

Where am I

Where am I is a management application allowing users to record and see who and what everyone is working on in a calendar and table. The application is hosted on Nextcloud in a Docker Container.

Tech Stack

Client: JS

Server: PHP Symphony

Database: MariaDB SQL

Installation for developers

The application runs on a docker container.

Prerequisites

  • Install Docker Desktop
  • Install Github Desktop

Step by step

  • Create a folder for the application
  • Open a terminal in the folder
  • Git clone the projet WhereAmI into the folder
git clone https://github.com/Adacis/whereami.git
  • Create a network for "Nextcloud"
docker network create nextcloud

Database setup

  • Go to the "whereami-docker" folder
cd whereami-docker/
  • Create the container for the database
docker compose up -d
  • Verify the container with the following command
docker ps
  • Check the logs
docker logs nextcloud-db
  • Verify the database using a tool such as Dbeaver (https://dbeaver.io/)
  • Connect to the database with these settings
Server Host : localhost
Port : 3306
User : nextcloud
Password : nextcloud

Nextcloud installation

  • Create a folder called "nextcloud_data" using the following command
mkdir /Users/miage/Documents/nextcloud_data
  • Run the following command in the terminal to install nextcloud version 28.0.5
docker run -d --name nextcloud -p 8001:80 -v /Users/miage/Documents/nextcloud_data:/var/www/html --network nextcloud nextcloud:28.0.5

The container will be on the port 8001, modify if needed

  • Verify the container with the following command
docker ps
  • Check the logs
docker logs nextcloud
User : adacis
Password : admin
  • Install all the basic applications that are proposed on launch
  • Configure the database with the information below
Database username : nextcloud
Database password : nextcloud
Database name : nextcloud-db
Database host : nextcloud-db:3306
  • Click install

WhereAmI installation

  • Copy the repository into the generated folder nextcloud_data/apps/
cp -r [cloned repository]/whereami [nextcloud_data folder]/nextcloud_data/apps/
  • Go to the applications page on Nextcloud
  • Find "WhereAmI" and click activate

Deployment

First time deployment

To deploy this project run the following commands in the order :

  • Start the Docker Bash Terminal for Nextcloud
docker exec -it nextcloud bash
  • Navigate to the correct folder
cd apps/whereami/ 
  • Install and update NPM if you don't have it
apt-get update && apt-get install -y npm
  • Initialise the project
make npm-init
  • Build the project
make build-js

Build

  • Start the container
docker exec -it nextcloud bash
  • Place yourself in the correct folder
cd apps/whereami/ 
  • Build the project
make build-js

Features

  • Event Assignment using the Calendar feature: Users can register themselves, record their whereabouts and time slots for specific contracts as well as their work status, which are then converted into full or half work days.
  • Weekend Exclusion: Automatically exclude weekends from scheduling calculations.
  • Employee Tab: A summary table of all users, their locations, and their status for the selected date range.
  • Location Tab: A summary table showing the number of users by location for the selected date range.
  • Last Seen Tab: A summary table of all the instances where users have crossed paths with other users within the selected date range.
  • Contract Tab: A summary table listing all users with their contracts and the total hours worked, rounded to the nearest half day, for the selected date range.
  • Summary Tab: A summary table showing the locations and the time spent at each location by the user for the selected month.
  • Hover Summary Functionality: Provide brief information when hovering over specific dates.

Authors

License

GNU AFFERO GENERAL PUBLIC LICENSE

About

Is a simple application to locate everybody in your company

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 99.2%
  • Other 0.8%