1.9 KiB
Project structure
In general, this api repo has the following structure:
docker
docs
pkg
caldav
config
log
mail
metrics
models
red
routes
swagger
utils
REST-Tests
templates
vendor
This document will explain what these mean and what you can find where.
Root level
The root directory is where the config file, Makefile, license, drone config,
application entry point (main.go
) and so on are located.
docker
This directory holds additonal files needed to build and run the docker container, mainly service configuration to properly run Vikunja inside a docker container.
pkg
TBD.
caldav
TBD.
config
TBD.
log
TBD.
TBD.
metrics
TBD.
models
TBD.
Needs a lot more explanation here.
red
TBD.
routes
TBD.
swagger
TBD.
utils
TBD.
REST-Tests
Holds all kinds of test files to directly test the api from inside of jetbrains ide's.
These files are currently more an experiment, maybe we will drop them in the future to use something we could integrate in the testing process with drone. Therefore, this has no claim to be complete yet even working, you're free to change whatever is needed to get it working for you.
templates
Holds the email templates used to send plain text and html emails for new user registration and password changes.
vendor
All libraries needed to build Vikunja.
We keep all libraries used for Vikunja around in the vendor/
folder to still be able to build the project even if
some maintainers take their libraries down like it happened in the past.
When adding a new dependency, make sure to run go mod vendor
to put it inside this directory.