Skip to content

checklist-id/backend

Repository files navigation

TodoList API

REST API of SKK-Dev TodoListApp

semantic-release: angular codecov

Table of Contents
  1. About The Project
  2. Getting Started
  3. Features
  4. Contribution Guide
  5. License
  6. Contact
  7. Contributors

About The Project

When facing a huge task, we often break it down into smaller task. So, we can finish them little by little.

In order to make them more organized, we can create a to-do list. Creating a to-do list has been of great help to various individuals because it emphasizes priorities and helps minimize tasks.

The TodoList Project developed by SKK-Dev Team will help the users organize their task. We provide them in simple, elegant, light and accessible place. So that, users will organize their task better :)

Getting Started

Prerequisites

When you're going to contribute or compile, you'll need at least:

  • Go 1.19+
  • MySQL 8.0.x
  • MongoDB 5.x

Installation or Configure

# clone if you don't have the code base
$ git clone git@github.com:Serikat-Kuli-Ketik/backend-todolist.git

# tidy up and run
$ go mod tidy

$ go run main.go

Deployment Guide

Self-Build

# clone if you don't have the code base
$ git clone git@github.com:Serikat-Kuli-Ketik/backend-todolist.git

# install the dependencies
$ go mod download

# compile 
$ go build -o main

After build, move with the public folder next to executable file. Then, execute with ./main command. Finally, configure the .env file to be configured trough your own MySQL database.

Docker Build

# clone if you don't have the code base
$ git clone git@github.com:Serikat-Kuli-Ketik/backend-todolist.git

# build a docker image
$ docker build -t todolist-api .

# create a container that running at port :19000
$ docker run -dp 19000:8000 --name todolist-api todolist-api

# copy .env file to your container
$ docker cp ./app.env todolist-api:/app/.

# restart container
$ docker restart todolist-api

If you decide to use docker method, you need to run docker daemon and create the .env file first. Then deployment can be done.

GHCR.io Image

# pull docker image at latest version
$ docker pull ghcr.io/Serikat-Kuli-Ketik/backend-todolist:latest

# create a container that running at port :19000
$ docker run -dp 19000:8000 --name todolist-api ghcr.io/Serikat-Kuli-Ketik/backend-todolist:latest

# copy .env file to your container
$ docker cp ./app.env todolist-api:/app/.

# restart container
$ docker restart todolist-api

If you decide to use docker method, you need to run docker daemon and create the .env file first. Then deployment can be done.

Features

📝 Task Notes

You can express and explain the task as your own.

🔖 Labels

You can group and filter their tasks with label. So, say more organized for your breaks down!

⏰ Reminders

Don't be forgotten the due date of your tasks! You can set some reminders and repeat them as you like!

Contribution Guide

This project development follows trunk-based development. Which is, we don't use dev branch to test or deploy in staging. A complete guide can be read at CONTRIBUTING.md.

Licenses

All of this source code are licensed under the MIT license.

Contact Information

Contributors

✨ Thanks goes to these wonderful people who speed up the development process:


Lesmana Wahyu

Christian Wahyu S

Hamdan Yuwafi

Danil Hendra Suryawan

Firmansyah Firdaus Anhar
Captain Figma Box Resizer Bug Creator of Backend District Bug Creator of Web District Bug Creator of Mobile District