akdasa-studios / shlokas

πŸ“œ Learn Vedic verses to spiritualize your mind!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Enhance your spiritual practice and deepen your understanding of the Vedas with Shlokas, the mobile app that makes it easy to memorize and recite Vedic verses. Try it out today and take your spiritual journey to the next level.


Tests Tests Codacy Badge

Get involved

If you'd like to help develop the project, here's a list of links to get you started:

  1. Good first issues – a list of simple issues any developer could start from.
  2. Roadmap - list of tasks we are working on.

Documentation

  1. Architecture – Overall project architecture
  2. Models – Domain models

Develop

  1. npm run dev – run the application at http://localhost:8080
  2. npm run run:device – run application on a device
  3. npm run run:device:hot – run an application on a device with hot reloading

Develop in VSCode decvontainer

  1. Generate Personal Access Token with "package:read" permission from GitHub
  2. Export GITHUB_TOKEN: echo "GITHUB_PAT_TOKEN=XXXXX > ~/.profile"
  3. Use "Rebuild and run in container" command in VSCoder

Environment

There are two options for launching services:

  1. Use prebuild containers β€” a fast and easy way to run the application. You don't need to build anything. This option is for you if you are working on the Shlokas app but not the services.
  2. Build all the services from the sources. This option is for you if you are working on a specific service and want to modify, build, and run it.

Use prebuild containers

To run the application in a full environment, you need to start all the services. You can do that by cloning the shlokas-server repository and running ./dev.run.sh command. It will download all the necessary images and run all the services in the docker containers.

# somewhere in your projects folder outside of this repo
gh repo clone akdasa-studios/shlokas-server
cd ./shlokas-server
./shlokas.run.sh

Build all the services from the sources

If you are working on a specific service and you want to build it and run you should do the following:

  1. Clone all the repositories in the same folder like shlokas
  2. Run shlokas.build.sh script to build all the services from the sources
  3. Run all the services with shlokas.run.sh script
# clone all the repos
gh search repos --owner akdasa-studios --match name shlokas --visibility public | while read -r repo _; do
  gh repo clone "$repo" "$repo"
done

# build and run all the services
cd ./akdasa-studios/shlokas-server
./shlokas.build.sh
./shlokas.run.sh

Services

The following services will be started:

Repo Description Link
Landing Landing page. http://localhost
Admin Admin panel to manage content. You can add verses, images, declamations and so on http://localhost/admin
Database Database and bootstrap scripts. Starts CouchDB and bootstraps it with necessary data http://localhost/db/_utils
Auth Authenticatoin service. Registers and logins user via CouchDB No UI
Balancer Balancer No UI
Content Content server. Allows to download and upload images and declamations No UI
TOTP One time password service No UI
Mailcather Email service. Used only for debugging purposes in dev environment. http://localhost:1080

Related Repositories

Here is a list of related repositories:

Repo Description
Core Core Library. Contains business logic.
Server Scripts to run related services
E2E End to end tests
UiKit UI Kit
Utils Utils
Protocol Interfaces describes communication protocol between services and client

About

πŸ“œ Learn Vedic verses to spiritualize your mind!


Languages

Language:Vue 55.7%Language:TypeScript 37.6%Language:CSS 3.0%Language:Swift 1.1%Language:Ruby 0.8%Language:Dockerfile 0.6%Language:Java 0.5%Language:JavaScript 0.4%Language:HTML 0.4%Language:Shell 0.1%