Task-Trip Manager is an educational project on the topic of task and trip management, built with PHP/Symfony (Back-End) and Vite/React with TypeScript (Front-End). Users can create trips, assign drivers and trucks, and allocate tasks. The app is containerized with Docker for easy deployment.
MIT License
You are required to build a simple web application using the Symfony framework and React. The application will manage tasks and trips. The main page will have two sections: tasks on the left and trips on the right. Users can create trips, assign a driver and truck to each trip, and allocate tasks to these trips.
Main Page Layout
Database Seeding
Functionalities
Tech Stack
Both front-end and back-end modules can be configured using .env
files. Examples of the .env
files are provided below:
.env.example
VITE_APP_PORT=
VITE_API_URL=""
.env.example
APP_NAME=
APP_PORT=
DB_NAME=
DB_USER=
DB_PORT=
DB_PASSWORD=
DATABASE_URL="postgres://${DB_USER}:${DB_PASSWORD}@postgres:5432/${DB_NAME}"
CORS_ALLOW_ORIGIN="*"
Both modules can be deployed using Docker Compose. Ensure Docker and Docker Compose are installed on your system. Use the following commands to deploy the application:
Build and Start the Containers:
docker-compose up -d --build
Stop the Containers:
docker-compose stop
Stop and Remove the Containers:
docker-compose down -v
Clone the Repository:
git clone <repository_url>
cd task-trip-manager
Set Up Environment Variables:
.env
file in both the frontend
and backend
directories by copying from .env.example
and filling in the necessary values.Start the Application:
docker compose up --build
Access the Application:
http://localhost:<VITE_APP_PORT>
http://localhost:<APP_PORT>
task-trip-manager/
│
├── front-end/
│ ├── public/
│ ├── src/
│ ├── .env.example
│ ├── Dockerfile
│ ├── nginx.conf
│ ├── docker-compose.yml
│ └── ...
│
├── back-end/
│ ├── config/
│ ├── src/
│ ├── .env.example
│ ├── Dockerfile
│ ├── docker-entrypoint.sh
│ ├── docker-compose.yml
│ └── ...
│
└── README.md
Contributions are welcome! Please fork the repository and create a pull request with your changes.
This project is licensed under the MIT License. See the LICENSE file for details.