A meditation and relaxation application with ambient sounds and Spotify integration.
- User authentication (local and Spotify)
- Ambient sound mixing
- Mindfulness timer
- Spotify music integration
- Responsive design
- Node.js 18.x or higher
- MongoDB
- Spotify Developer Account
- PM2 (for production deployment)
Create a .env file in the root directory with the following variables:
MONGODB_URI=your_mongodb_uri
SESSION_SECRET=your_session_secret
SPOTIFY_CLIENT_ID=your_spotify_client_id
SPOTIFY_CLIENT_SECRET=your_spotify_client_secret- Clone the repository:
git clone https://github.com/yourusername/calming-space.git
cd calming-space- Install dependencies:
npm install- Start the development server:
npm run devRun the test suite:
npm testFor watch mode:
npm run test:watch- Install PM2 globally:
npm install -g pm2- Start the application with PM2:
pm2 start ecosystem.config.mjs- Monitor the application:
pm2 monitThe application uses GitHub Actions for continuous integration and deployment. The pipeline:
- Runs tests on every push and pull request
- Deploys to production on successful merge to main branch
- Automatically restarts the application using PM2
Required GitHub Secrets:
MONGODB_URISESSION_SECRETSPOTIFY_CLIENT_IDSPOTIFY_CLIENT_SECRETSERVER_HOSTSERVER_USERNAMESSH_PRIVATE_KEY
ISC