langdida-server is the backend project that complements langdida-ui. langdida is a personal language learning tool inspired by lingQ, a popular language learning platform. However, I have customized certain aspects of the tool to better suit my needs.
The server-side functionality is implemented using Golang and is designed to support the following features:
- User authentication and authorization
- Article management and retrieval
- Vocabulary tracking and review
- Learning progress tracking
Before getting started, ensure that you have the following prerequisites installed on your development machine:
- Golang
- Database (Postgresql or Sqlite)
- Create a new PostgreSQL database for langdida-server.
- Update the database connection settings in the
configs.yml
file.
- Clone the repository.
- Run
go mod download
to install the dependencies. - Run
go run main.go
to start the server.
Usage of the program:
-configs string
specify the config file, refer to configs.md (default "./assets/configs.yaml")
The server exposes a RESTful API for communication with the langdida-ui. The API endpoints and their respective functionalities are documented in the API Documentation file.
If you would like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch for your feature (
git checkout -b feature/fooBar
). - Commit your changes (
git commit -m 'Add some fooBar'
). - Push to the branch (
git push origin feature/fooBar
). - Create a new Pull Request.
Distributed under the MIT license. See LICENSE
for more information.
see also langdida-ui