Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kutay-celebi/gotodo
https://github.com/kutay-celebi/gotodo
docker gin gin-framework go golang gorm ingress ingress-nginx kubernetes vue
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/kutay-celebi/gotodo
- Owner: kutay-celebi
- License: mit
- Created: 2021-08-01T18:15:16.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-08-03T21:24:24.000Z (over 3 years ago)
- Last Synced: 2024-10-01T15:07:32.614Z (about 1 month ago)
- Topics: docker, gin, gin-framework, go, golang, gorm, ingress, ingress-nginx, kubernetes, vue
- Language: TypeScript
- Homepage: http://34.142.84.33
- Size: 553 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Build Status](https://travis-ci.com/kutay-celebi/gotodo.svg?branch=master)](https://travis-ci.com/kutay-celebi/gotodo)
[![codecov](https://codecov.io/gh/kutay-celebi/gotodo/branch/master/graph/badge.svg?token=fsnUvnu3Fx)](https://codecov.io/gh/kutay-celebi/gotodo)
![GitHub](https://img.shields.io/github/license/kutay-celebi/gotodo)
![GitHub last commit](https://img.shields.io/github/last-commit/kutay-celebi/gotodo)
[![Demo](https://img.shields.io/badge/-Demo-blue?style=flat)](http://34.142.84.33)# Introduction
This is a simple todo application built by `Go` and `Vue`. `gin` and `gorm` which are Go library are used in backend development. There is
no UI Framework is used in Vue. The developments are made with pure CSS. Frontend developments have been made with TypeScript.# Requirements
- Docker
- Make sure you have `Go 1.16.6`
- NodeJS# File Structure
```
/api // backend
/todo // business logic of todo
/util // useful tool&functions
/frontend // frontend
/src
/components // ui components
/layouts // router layouts
/model // api response models.
/router // router configs
/util // useful tools&functions
/views // pages to be rendered via router
```# About Todo App
This application, which is a simple TODO application, has been worked with new technologies.
Development processes are based on TDD. Both unit tests and E2E tests are available for the UI. E2E tests were performed with `cypress` and
unit tests with `jest`. On the GO side, an ORM tool `gorm` is used. In addition, the web framework `gin` was used on the GO application.Pipelines are located on `travis`. The application is distributed with the help of `kubernetes`.
# Screenshot
# Run Application on Test Environment
At the root directory of project,
```shell
docker-compose -f docker-compose-test.yml up -d
```After that you can reach application `localhost:3000`
# Development
1. Clone Project
```shell
git clone https://github.com/kutay-celebi/gotodo.git
```2. Install frontend dependencies
``` shell
cd frontend
yarn install
#or
npm install
```3. Install backend dependencies
```shell
cd api
go mod download
```4. Run Development Databse
```shell
docker-compose -f docker-compose-dev.yml up -d
```4. Run backend
```shell
cd api
DB_HOST=localhost DB_USER=todo DB_PASS=todo go run .
```5. Run Frontend
```shell
cd frontend
yarn serve
```