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.
Client: JS
Server: PHP Symphony
Database: MariaDB SQL
The application runs on a docker container.
- Install Docker Desktop
- Install Github Desktop
- 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- 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
- 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.5The 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- To access Nextcloud on the addresse http://localhost:8001
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
- 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
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- Start the container
docker exec -it nextcloud bash- Place yourself in the correct folder
cd apps/whereami/ - Build the project
make build-js- 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.