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.
If you'd like to help develop the project, here's a list of links to get you started:
- Good first issues β a list of simple issues any developer could start from.
- Roadmap - list of tasks we are working on.
- Architecture β Overall project architecture
- Models β Domain models
npm run dev
β run the application athttp://localhost:8080
npm run run:device
β run application on a devicenpm run run:device:hot
β run an application on a device with hot reloading
- Generate Personal Access Token with "package:read" permission from GitHub
- Export GITHUB_TOKEN:
echo "GITHUB_PAT_TOKEN=XXXXX > ~/.profile"
- Use "Rebuild and run in container" command in VSCoder
There are two options for launching services:
- 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.
- 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.
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
If you are working on a specific service and you want to build it and run you should do the following:
- Clone all the repositories in the same folder like
shlokas
- Run
shlokas.build.sh
script to build all the services from the sources - 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
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 |
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 |