A comprehensive management system that provides a range of services, including the ability to submit vacation requests. This system seamlessly integrates with a global calendar, allowing users across all offices to view approved vacations collectively. Additionally, the calendar showcases Birthdates, Events, Meetings, and Holidays, offering a centralized and accessible overview for all users within the organization.
Global Overview:
Local Management:
Various tools are available for development:
make deploy
to deploy and make destroy
to destroy the testing site.make install
Poetry will be installed. However, to complete the setup, it's crucial to add the Poetry executable to the system's PATH by running the command export PATH="/root/.local/bin:$PATH"
When in development mode, use the following Makefile commands:
make migrate
: Apply migration and migrate.make user
: Create a superuser.make runserver
: Run the server.make lint
: Perform linting on both server and client.make install
: Install dependencies in both client and server.make data
: Create dummy data for testing e.g., users/offices.To facilitate the installation process, this project utilizes the poetry
package manager for Python
and pnpm
for Node.js
. Follow the steps outlined below for a seamless installation:
curl -sSL https://install.python-poetry.org | python3 -
pnpm
globally for Node.js, run the following command:npm i -g pnpm
After installing these packages you can now install the required packages by executing:
make install
By following these steps, you ensure the proper setup of the required package managers for this project.
After executing
make install && make migrate
Please refer to .env.template for all required values. Ensure all values are populated in the .env
file within the config directory.
To run the full project with all instances, follow these steps:
Create a .env
file beside the config directory and set the necessary environment variables. Refer to the previous section for sample environment variable configurations.
Run the following command to start the Docker containers and please make sure that you are on the root of the project:
# --> To run all services
└─(✹)──> docker compose -f ./docker/docker-compose.yml --env-file=./config/.env up --build -d
# --> To stop all services
└─(✹)──> docker compose -f ./docker/docker-compose.yml --env-file=./config/.env down
Also, you can excute the command using Make:
After executing the command, you should see a confirmation similar to the following:
This indicates that the Docker containers are being created and the services are starting up.
You can also take a look at configuration.md