Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/getraid/japaneselearninglogpy
A simple webtool to track the daily learning progress you've made
https://github.com/getraid/japaneselearninglogpy
javascript python vue
Last synced: 6 days ago
JSON representation
A simple webtool to track the daily learning progress you've made
- Host: GitHub
- URL: https://github.com/getraid/japaneselearninglogpy
- Owner: getraid
- Created: 2021-08-20T13:35:02.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-02-17T13:09:43.000Z (9 months ago)
- Last Synced: 2024-02-17T14:25:30.214Z (9 months ago)
- Topics: javascript, python, vue
- Language: Vue
- Homepage:
- Size: 2.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Japanese Learning Log Py
![screenshot that shows the webpage](./.github/readme-images/JLL.png)
A tool that helps you to log / track your invested time in learning japanese, or anything really. You can use it as your daily learning diary!
Required / ~~Programmed with: Python 3.9, Node v12~~
Updated to work with Python 3.11, Node v18.13
Older versions?
If you want use older python/node versions, look into the installAndBuild.sh/bat files and use the commented segments instead## Setup
### Docker
You can use docker to automatically deploy this webapp. Just install Docker and git to your server / machine and clone the repository:
`git clone https://github.com/getraid/JapaneseLearningLogPy.git`.After that you can use `docker build -t japaneselog . ` to create a local image. Then you have the option to run it "Simple" or "with folder bindings", so that you can access the DB and config easily.
Simple Container: `docker run -d -it --name JLL -p 5000:5000 japaneselog:latest`
Now visit the website on your defined port (`http://localhost:5000/` in this case).
Folder Bindings?
or Container with folder bindings:docker run -d -it --name JLL -p 5000:5000 -v ./localConfDir:/app/config -v ./localDBDir:/app/database japaneselog:latest
Here localConfDir and localDBDir are a local folder that you have to create.
The sqlite database gets redirected in there and the `config.ini` can beprovided there as well.### Manual Installation
Clone the repository to your server with `git clone https://github.com/getraid/JapaneseLearningLogPy.git`
Install all dependencies: `pip3 install -r requirements.txt`Build depedencies: execute the `installAndBuild.bat`(Windows) or `./installAndBuild.sh`(macOS or Linux in Terminal) to build the frontend
Start: `python3 start.py`To run this in the background on a Linux server, please look into [services](https://www.google.com/search?q=linux+setup+service).
## Settings
This server application has all its settings "baked in", but you can simply override them.
If you want to that, copy `config.ini.sample` to `config.ini` and edit them.### Settings explaination
**port** - The port of this server application. Make sure to allow it in your firewall.**host** - Can be 127.0.0.1 for localhost only, 0.0.0.0 for all network interfaces or an individual ip-adress
**usePassword** - This enables a basic http-authentication with the username/password below. Please don't run this publicly without https. If you want to run this with https, fork and modify the code or simply use [caddy](https://caddyserver.com/) with a reverse proxy. This was/is primary meant for "indoor"-use
**user** - the user account name (only one)
**unlock_password** - the user password (only one)
## Usage
Now open your webbrowser at your defined host:port in the settings (default: `http://localhost:5000/`).### Navigation
#### Left Side (Date Section):
* β Add current date
* ποΈ Add other dates
* β Remove dates
* β¬ οΈβ‘οΈChange date range
* π Select date#### Right Side (Entry Section):
##### Upper Space:
* β Add section for selected date
* π Select entry##### Lower Space:
* π Learn Method: create or select a learn method
* β Hour, Minutes: Set your invested time
* π¬ Comment: Anything you want to add!## Development
To work on the gui check out JapaneseLearningLogFrontend.
Before that, you should disable the `usePassword` option in the `config.ini` file.In order to debug, you just start this python server and run it in the background. Then move into the JapaneseLearningLogFrontend folder and run `npm install && npm run serve` there.
The actual UI testing will be easier this way. Once you're done, simply run `npm run build` in the JapaneseLearningLogFrontend directory and it will output its contents into the static folder here.
Now you can just navigate to your defined host:port address of the regular server.