Skemex Web Application
Overview
Skemex is web application built for use in companies which need to have workplaces management system:
-
Serve as closed resource of the company which work with confidential information about its members and their relevant location.
-
Helps to easily manage company members workplaces, offers the ability to reserve workplace of another office for a certain time, provides engine of member location search etc.
-
Helps to understand the front-backend connectivity and can be used as fast start in some kind of web applications.
How to use
Requirements:
- Java: version 1.8+
- Apache Tomcat : version 8.0+
- PostgreSQL RDMS: in case of repository cloning
- Maven: 3.0+
Instructions:
-
Clone repository
-
Using Maven, create an archive with
.war
format:in directory
~/skemex/
run following command:mvn clean install -DskipTests
-
Create database schema using following command:
CREATE DATABASE skemex WITH OWNER = postgres ENCODING = 'UTF8' TABLESPACE = pg_default LC_COLLATE = 'Ukrainian_Ukraine.1251' LC_CTYPE = 'Ukrainian_Ukraine.1251' CONNECTION LIMIT = -1;
-
Fill up database with initial data:
To use the application you need to have at least one user saved in system. For this run following PSQL script with all
${...}
replacements:INSERT INTO public.office (id, time_zone, city, name) VALUES (1, '${TIME_ZONE}', '${CITY}', '${OFFICE_NAME}'); ALTER SEQUENCE office_id_seq RESTART WITH 2; INSERT INTO public.organization (id, name, owner_nickname, parent) VALUES (1, '${PROJECT}', null, null); ALTER SEQUENCE organization_id_seq RESTART WITH 2; INSERT INTO public."user" (nickname, password) VALUES ('${NICKNAME}', '${PASSWORD}'); INSERT INTO public.users_roles (nickname, role_id) VALUES ('${NICKNAME}', 1); INSERT INTO public.employee (nickname, email, first_name, last_name,organization_id) VALUES ('${NICKNAME}', null, '${F_NAME}', '${L_NAME}', 1);
-
Deploy project on your Tomcat server:
Navigate to your Tomcat folder and paste recently created .war archive in folder
~/webapps/
Rename this archive to name "
api
".Put built frontend project from https://gitlab.com/ch-075/skemex-ui.git also in folder
~/webapps/
Navigate to folder
~/bin/
of your Tomcat and run following executable file:If you are using Windows:
startup.bat
, Linux:startup.sh
-
Access site by opening
http://localhost:8080/
in your browser
UseNICKNAME
andPASSWORD
from task №6 as your login credentials -
After excel file upload (one of the navigation bar menus) you can resolve all merge conflicts using following steps:
Open browser console with
Ctrl + Shift + C
and navigate toConsole
.Paste following commands:
a = document.getElementsByClassName("my-0"); for (var i = 0; i <a.length;i++){ if (a[i].innerText == "Excel"){ a[i].click(); }}
Click
Enter
and wait some time till table with conflicts would be fully erased