Welcome to the official GitHub repository for the Sadhan Sangha Ashram Website. This repository contains the source code for the website of Sadhan Sangha Ashram, a non-profit organization dedicated to providing spiritual guidance and wisdom.
Repo for Data Configuration:
https://github.com/astrarudra/ssa-static
For Release Notes & Coding Standards:
Switch to Code Of Conduct tab above
Visit the Website - Sadhansangha.in
Here is a demo video of the website:
Screenshot:
Sadhan Sangha Ashram is a sanctuary of peace and spiritual enlightenment nestled between Rishikesh and Haridwar. The Ashram offers a serene environment for seekers to immerse themselves in the teachings of Yogi 108 Swami Sachchidananda Saraswati.
Today, under the guidance of the present Guruji, Shri Achyut Chetan Maharaj, Sadhan Sangha Ashram continues to illuminate the path of seekers from all walks of life. Whether you seek refuge, wisdom, or solace amidst the chaos of life, our Ashram provides a haven for spiritual growth and self-discovery. The gates of Sadhan Sangha Ashram stand open, welcoming all who yearn for the serenity of the soul
The website is completely open-source. Feel free to use this repository for learning purposes or to build a similar website. We kindly request that you mention or credit Sadhan Sangha Ashram if you reuse the code.
We thank the following for free hosting
- Static Website: Built with TypeScript, React 19, Vite, Zustand, MUI 9, and CSS.
- Git Raw Integration: Gist raw and GitHub Pages raw used to fetch config, language, and assets.
- Fully Responsive: Optimized for all devices, with support for screens as small as 240px.
- Slow Network Support: Lazy routes/components, localStorage cache, and skeletal loading.
- Image Gallery: GitHub-hosted albums via
react-photo-albumandyet-another-react-lightbox. - Daily Satsangs: YouTube, Spotify, and Amazon Music are embedded/linked — playlist updates in config reflect on the site.
- Configurable: Remote
config.json/en.json(see ssa-static) drive gallery, playlists, and copy. - SEO & Web Vitals: Per-route
useSEO, sitemap/robots, LCP-oriented image loading, and Netlify security headers (public/_headers). - No Data Collection: We respect your privacy and do not collect any personal data or use cookies (aside from standard analytics if enabled in the host page).
Stay tuned for exciting developments and enhancements coming soon to the Sadhan Sangha Ashram website:
- Sadhan Sangha App: Our top priority is the development of the Sadhan Sangha mobile app, providing easy access to spiritual teachings and resources on-the-go.
- Translation: We're working on translating the website into Hindi and Bengali to reach a wider audience and make our content more accessible.
- Expanded Pages: Look forward to new pages on published books, event calendar, and donation options to enrich your experience on our website.
- v1.1 -
Website Enhancement: We're dedicated to improving user experience through SEO optimization, bundle optimization, and lazy loading images for faster page loading. - v2.0 -
Modernization: Vite + TypeScript, MUI 9, React Router 7, gallery library refresh, Vitest, LavaMoat, Netlify CSP headers. - More Content: Expect regular updates with additional satsangs and gallery albums to deepen your spiritual journey with us.
You need Node.js 20+ and npm.
Clone the repo, then:
npm ci
npm run allow-scripts
npm run dev| Script | Purpose |
|---|---|
npm run dev |
Vite development server |
npm run build |
Type-check + production build (tsc -b && vite build) → output in dist/ |
npm run preview |
Preview the production build locally |
npm run lint |
ESLint |
npm run test / npm run test:run |
Vitest (watch / CI) |
npm run allow-scripts |
Run LavaMoat-allowlisted install scripts |
LavaMoat:
.npmrcsetsignore-scripts=true. Plainnpm install/npm cialone skips package lifecycle scripts. Always follow withnpm run allow-scriptsso only allow-listed scripts run.
Repo includes netlify.toml for build and publish:
- Build command (from
netlify.toml):npm run build - Publish directory:
dist - Node:
20(NODE_VERSIONinnetlify.toml)
Install command must be set manually in the Netlify UI (Site settings → Build & deploy → Build settings):
npm ci && npm run allow-scriptsWhy not plain npm install?
.npmrc has ignore-scripts=true (LavaMoat). Install alone skips lifecycle scripts; npm run allow-scripts runs only the allow-listed ones afterward.
Prefer npm ci over npm install on Netlify so the install matches package-lock.json exactly.
SPA redirects live in public/_redirects. Security headers (CSP and related) live in public/_headers.
The website is open source and we welcome contributions from the community. Here's how you can contribute:
- Fork the Repository: Start by forking this repository.
- Make Your Changes: Make your improvements or add new features. Follow CODE_OF_CONDUCT.md (revamp standards).
- Submit a Pull Request: Once your changes are ready, submit a pull request for review.
Your contributions help enhance our project and spread spiritual wisdom to a broader audience. Thank you for your support!
The website and upcoming app will shine with more content digitalized. Contributions will be greatly appreciated. Here are some ways you can contribute:
- Satsang Video Recording: Enhance Satsang Video Recording - Record stable video from a proper angle in landscape with the highest quality possible and send us.
- Videos Editing: Help edit and enhance our satsang videos to make them more engaging and accessible.
- Images For Gallery: Capture and provide high-quality images of Sadhan Sangha Ashram and Guruji for our website's image gallery.
- Contact Us: If you're interested in contributing in any other way or have ideas for content creation, please reach out to us. We'd love to hear from you!
Your support through monetary donations helps sustain the operations of Sadhan Sangha Ashram and allows us to continue spreading spiritual wisdom. If you would like to make a donation, please contact us. Your generosity is greatly appreciated and will go directly to supporting the activities and initiatives of the ashram. Thank you for your kind contribution!
