Compare commits
2 Commits
3da160afc2
...
f7b665b2ec
Author | SHA1 | Date |
---|---|---|
gilex-dev | f7b665b2ec | |
gilex-dev | 60207beabd |
|
@ -1,4 +1,4 @@
|
||||||
sqlite3_file: "YetAnotherToDoList.sqlite3"
|
sqlite3_file: 'YetAnotherToDoList.sqlite3'
|
||||||
log_file: "YetAnotherToDoList.log"
|
log_file: 'YetAnotherToDoList.log'
|
||||||
log_UTC: false
|
log_UTC: false
|
||||||
port: 4242
|
port: 4242
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
root = true # false
|
||||||
|
|
||||||
|
[*]
|
||||||
|
# overrides perettier's useTabs
|
||||||
|
indent_style = tab # space
|
||||||
|
|
||||||
|
# overrides perettier's tabWidth
|
||||||
|
# indent_size = 4 # whole number
|
||||||
|
|
||||||
|
# overrides perettier's tabWidth
|
||||||
|
tab_width = 1 # whole number
|
||||||
|
|
||||||
|
end_of_line = lf # cr | crlf
|
||||||
|
charset = utf-8 # latin1 | utf-8-bom | utf-16be | utf-16le
|
||||||
|
|
||||||
|
trim_trailing_whitespace = true # false
|
||||||
|
|
||||||
|
insert_final_newline = true # false
|
||||||
|
|
||||||
|
# overrides perettier's printWidth
|
||||||
|
max_line_length = 80
|
|
@ -0,0 +1 @@
|
||||||
|
* text=auto eol=lf
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"singleQuote": true,
|
||||||
|
"trailingComma": "none",
|
||||||
|
"requirePragma": false,
|
||||||
|
"insertPragma": false,
|
||||||
|
"proseWrap": "always"
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"recommendations": [
|
||||||
|
"golang.go",
|
||||||
|
"graphql.vscode-graphql-syntax",
|
||||||
|
"mtxr.sqltools",
|
||||||
|
"mtxr.sqltools-driver-sqlite",
|
||||||
|
"streetsidesoftware.code-spell-checker",
|
||||||
|
"editorconfig.editorconfig"
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"sqltools.useNodeRuntime": true,
|
||||||
|
"sqltools.connections": [
|
||||||
|
{
|
||||||
|
"previewLimit": 50,
|
||||||
|
"driver": "SQLite",
|
||||||
|
"database": "${workspaceFolder:YetAnotherToDoList}/YetAnotherToDoList.sqlite3",
|
||||||
|
"name": "development"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -5,10 +5,13 @@ Commands were run in the order listed below on a debian based system.
|
||||||
## Initial setup
|
## Initial setup
|
||||||
|
|
||||||
- Initialize go module
|
- Initialize go module
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
go mod init somepi.ddns.net/gitea/gilex-dev/YetAnotherToDoList
|
go mod init somepi.ddns.net/gitea/gilex-dev/YetAnotherToDoList
|
||||||
```
|
```
|
||||||
- Install cobra-cli (try `~/go/bin/cobra-cli` if `cobra-cli` can not be found in your `PATH`)
|
|
||||||
|
- Install cobra-cli (try `~/go/bin/cobra-cli` if `cobra-cli` can not be found in
|
||||||
|
your `PATH`)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
go install github.com/spf13/cobra-cli@latest
|
go install github.com/spf13/cobra-cli@latest
|
||||||
|
@ -16,14 +19,19 @@ Commands were run in the order listed below on a debian based system.
|
||||||
```
|
```
|
||||||
|
|
||||||
- Add missing modules
|
- Add missing modules
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
go mod tidy
|
go mod tidy
|
||||||
```
|
```
|
||||||
|
|
||||||
- Add license command
|
- Add license command
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cobra-cli add license
|
cobra-cli add license
|
||||||
```
|
```
|
||||||
|
|
||||||
- Add qglgen
|
- Add qglgen
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
printf '// +build tools\npackage tools\nimport (_ "github.com/99designs/gqlgen"\n _ "github.com/99designs/gqlgen/graphql/introspection")' | gofmt > tools.go
|
printf '// +build tools\npackage tools\nimport (_ "github.com/99designs/gqlgen"\n _ "github.com/99designs/gqlgen/graphql/introspection")' | gofmt > tools.go
|
||||||
go mod tidy
|
go mod tidy
|
||||||
|
@ -31,7 +39,9 @@ Commands were run in the order listed below on a debian based system.
|
||||||
go mod tidy
|
go mod tidy
|
||||||
cobra-cli add server
|
cobra-cli add server
|
||||||
```
|
```
|
||||||
|
|
||||||
- Add go-sqlite3
|
- Add go-sqlite3
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
go get github.com/mattn/go-sqlite3
|
go get github.com/mattn/go-sqlite3
|
||||||
CGO_ENABLED=1 go install github.com/mattn/go-sqlite3 # you may need to install gcc if not already present
|
CGO_ENABLED=1 go install github.com/mattn/go-sqlite3 # you may need to install gcc if not already present
|
||||||
|
|
|
@ -0,0 +1,127 @@
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: true
|
||||||
|
---
|
||||||
|
|
||||||
|
# Contributing
|
||||||
|
|
||||||
|
This is a personal project to learn new languages and technics and thus does not
|
||||||
|
really have a future you could contribute to. You are however welcome to fork
|
||||||
|
and modify it while following the guidelines and licenses in
|
||||||
|
[COPYING.md](./COPYING.md).
|
||||||
|
|
||||||
|
## Environment
|
||||||
|
|
||||||
|
Preferred editor: [VSCodium](https://vscodium.com/) with some
|
||||||
|
[extensions](./.vscode/extensions.json).
|
||||||
|
|
||||||
|
For dependencies/tools, make sure to use the versions specified in
|
||||||
|
[INSTALL.md#requirements](./INSTALL.md#requirements).
|
||||||
|
|
||||||
|
## Coding conventions/formatting
|
||||||
|
|
||||||
|
There is a [.editorconfig](./.editorconfig) file to use with compatible editors
|
||||||
|
[1](https://editorconfig.org/#pre-installed), or with those who have plugins
|
||||||
|
available [2](https://editorconfig.org/#download).
|
||||||
|
|
||||||
|
Please use [prettier](https://prettier.io/) and the supplied
|
||||||
|
[configuration](./.prettierrc) to format the following file types:
|
||||||
|
|
||||||
|
- `.js`
|
||||||
|
- `.vue`
|
||||||
|
- `.css`
|
||||||
|
- `.md`
|
||||||
|
- `.yaml`
|
||||||
|
- `.graphqls`, `.graphql`
|
||||||
|
- `.json`
|
||||||
|
|
||||||
|
Use the following formatters with the following types:
|
||||||
|
|
||||||
|
- `.go` (use gofmt)
|
||||||
|
|
||||||
|
No formatter specified for the following types (adapt to existing style):
|
||||||
|
|
||||||
|
- `Makefile`
|
||||||
|
- `.sql`
|
||||||
|
- `.mod`, `.sum`
|
||||||
|
|
||||||
|
Do **not** change the formatting of license texts (e.g.
|
||||||
|
[COPYING.md](./COPYING.md)).
|
||||||
|
|
||||||
|
### General
|
||||||
|
|
||||||
|
- We indent using `tabs` (4 spaces wide).
|
||||||
|
- We use single-quotes `'` where possible.
|
||||||
|
- We use `LF` line endings (enforced by [.gitattributes](./.gitattributes)).
|
||||||
|
- We use `UTF-8` encoding where possible.
|
||||||
|
- We end files with an empty line.
|
||||||
|
- We use the string `TODO` to mark bits of code that need improvement.
|
||||||
|
- We use the string `DEBUG` to mark bits of code that are only for debugging
|
||||||
|
(remove before next commit).
|
||||||
|
- We add (if possible) the following header to files that contain a reasonable
|
||||||
|
amount of self-written code or are essential to the project:
|
||||||
|
|
||||||
|
```text
|
||||||
|
/*
|
||||||
|
YetAnotherToDoList
|
||||||
|
Copyright © YYYY name your@email
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, version 3.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
```
|
||||||
|
|
||||||
|
### File specific rules
|
||||||
|
|
||||||
|
#### Markdown (.md)
|
||||||
|
|
||||||
|
- We add a single `h1` element per document (as a title of the document).
|
||||||
|
- We use asterisks `*` for **bold** and _italic_, not underscores `_` .
|
||||||
|
- We don't use citation blocks `>` for emphasis.
|
||||||
|
- We end sentences with a full stop `.` .
|
||||||
|
- We leave one space around backticks `` ` `` when used as inline code.
|
||||||
|
- We add new lines around codeblocks ` ``` ` .
|
||||||
|
- We indent using spaces (2 spaces wide).
|
||||||
|
- We add a table of content (toc) in gitea's style where necessary:
|
||||||
|
|
||||||
|
```
|
||||||
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: true
|
||||||
|
---
|
||||||
|
```
|
||||||
|
|
||||||
|
#### YAML
|
||||||
|
|
||||||
|
We indent using spaces (1 space wide).
|
||||||
|
|
||||||
|
#### Bash (.sh)
|
||||||
|
|
||||||
|
We use `env` in the shebang: `#!/usr/bin/env bash`.
|
||||||
|
|
||||||
|
### File endings
|
||||||
|
|
||||||
|
#### .yaml and .yml
|
||||||
|
|
||||||
|
We use the `.yaml` file ending.
|
||||||
|
|
||||||
|
#### .graphql and .graphqls
|
||||||
|
|
||||||
|
- We use `.graphql` for writing client queries.
|
||||||
|
|
||||||
|
- We use `.graphqls` for defining our graph scheme.
|
||||||
|
|
||||||
|
## Commit messages
|
||||||
|
|
||||||
|
- We write in all lowercase except for special names, e.g. `update Makefile`
|
||||||
|
- We write in imperative mood, e.g. `add contribution guidelines`, not
|
||||||
|
`adding ... ` or `adds ... `.
|
13
README.md
13
README.md
|
@ -1,12 +1,19 @@
|
||||||
# YetAnotherToDoList
|
# YetAnotherToDoList
|
||||||
|
|
||||||
A simple To Do List Web Application with Go backend, Vue.js frontend and a GraphQL API.
|
A simple To Do List Web Application with Go backend, Vue.js frontend and a
|
||||||
|
GraphQL API.
|
||||||
|
|
||||||
This is a simple project I created to learn the [Go](https://go.dev/) language, [GraphQL](https://graphql.org/) and [Vue.js](https://vuejs.org).
|
This is a simple project I created to learn the [Go](https://go.dev/) language,
|
||||||
|
[GraphQL](https://graphql.org/) and [Vue.js](https://vuejs.org).
|
||||||
|
|
||||||
Instructions on how to install can be found in [INSTALL.md](./INSTALL.md).
|
Instructions on how to install can be found in [INSTALL.md](./INSTALL.md).
|
||||||
|
|
||||||
Once installed, you might want to run the queries in [example.graphql](./example.graphql).
|
Once installed, you might want to run the queries in
|
||||||
|
[example.graphql](./example.graphql).
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
For contributing see [CONTRIBUTING.md](./CONTRIBUTIN.md).
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,7 @@ resolver:
|
||||||
layout: follow-schema
|
layout: follow-schema
|
||||||
dir: graph
|
dir: graph
|
||||||
package: graph
|
package: graph
|
||||||
filename_template: "{name}.resolvers.go"
|
filename_template: '{name}.resolvers.go'
|
||||||
# Optional: turn on to not generate template comments above resolvers
|
# Optional: turn on to not generate template comments above resolvers
|
||||||
# omit_template_comment: false
|
# omit_template_comment: false
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ resolver:
|
||||||
# gqlgen will search for any type names in the schema in these go packages
|
# gqlgen will search for any type names in the schema in these go packages
|
||||||
# if they match it will use them, otherwise it will generate them.
|
# if they match it will use them, otherwise it will generate them.
|
||||||
autobind:
|
autobind:
|
||||||
- "somepi.ddns.net/gitea/gilex-dev/YetAnotherToDoList/graph/model"
|
- 'somepi.ddns.net/gitea/gilex-dev/YetAnotherToDoList/graph/model'
|
||||||
|
|
||||||
# This section declares type mapping between the GraphQL and go type systems
|
# This section declares type mapping between the GraphQL and go type systems
|
||||||
#
|
#
|
Loading…
Reference in New Issue