A robust task management application with:
- RESTful API Server
- Command-Line Interface (CLI)
- PostgreSQL Database Integration
- Docker Support
- Create, read, update, and delete tasks
- Organize tasks into lists and groups
- CLI for quick task management
- Dockerized deployment
- Go 1.23+
- Docker (optional)
- PostgreSQL
- Quick task add to "inbox" - default list
- Make folder optional
-
Clone the repository
git clone https://github.com/artromone/4me.git cd 4me -
Create
.envfilecp .env.example .env
-
Edit
.envwith your database credentials -
Install dependencies
go mod download
# Build and run with Docker Compose
docker-compose up --build# Build the cli
make./task-cli create-task "Buy groceries" --list 1
./task-cli list-tasks --list 1# Create a task
./task-cli create-task "Meeting preparation" --list 1 --due 2024-01-15
# List tasks in a list
./task-cli list-tasks --list 1# Create a list
./task-cli create-list "Work Tasks" --group 1
# List groups
./task-cli list-groupsPOST /tasks: Create a taskGET /tasks?list_id=1: List tasks in a listGET /tasks/{id}: Get a specific taskPUT /tasks/{id}: Update a taskDELETE /tasks/{id}: Delete a task
- Similar CRUD endpoints for lists and groups
Configure via .env file or environment variables:
DB_HOST: Database hostDB_PORT: Database portDB_USER: Database usernameDB_PASSWORD: Database passwordDB_NAME: Database nameSERVER_PORT: API server port
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.