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

About

Backend of CheckList, built using Go.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published