InnerBhakti is a spiritual guidance app designed to provide users with a seamless experience for exploring programs, accessing details, and enjoying audio tracks. This repository includes the backend API (Node.js) and the mobile frontend (Flutter).
- Program List Screen: Displays a list of spiritual programs with their details.
- Program Details Screen: Fetches and displays tracks associated with a selected program.
- Audio Player Screen: Includes playback controls (play, pause, forward, rewind) for tracks.
- REST APIs:
- Fetch program list.
- Fetch program details.
- Upload files (single and multiple).
- Stream or fetch audio tracks.
- Database: MongoDB for managing program and track data.
- Cloud Storage: Integration with AWS or other cloud services for storing and accessing audio files.
GET /programs: Fetch all programs.GET /programs/:id: Fetch program details by ID.
GET /audios: Fetch all audio tracks.GET /audios/:id: Fetch a specific audio track by ID.
POST /upload/single: Upload a single file.POST /upload/multiple: Upload multiple files.
To document and share your work visually, follow these steps:
- Take screenshots of:
- Program List Screen
- Program Details Screen
- Audio Player Screen
- Save the images in a directory called
screenshots/.
- Frontend: Flutter (Dart)
- Backend: Node.js (Express.js)
- Database: MongoDB
- Cloud Hosting: AWS or Vultr (for backend and audio files)
- Flutter: Install from Flutter's official website.
- Node.js: Install from Node.js official website.
- MongoDB: Install locally or use a cloud MongoDB instance.
- Cloud Account: AWS/Vultr for audio file storage.
- Navigate to the
backend/folder. - Install dependencies:
npm install
- Configure environment variables in
.env:- MongoDB connection string
- Cloud storage credentials
- Start the server:
npm run dev
- Navigate to the
frontend/folder. - Get Flutter dependencies:
flutter pub get
- Run the app:
flutter run


