A web application for public exploration of community stories shared through Terrastories.
Explore Terrastories allows communities to share their place-based stories publicly. It connects to a Terrastories server API to display unrestricted stories that communities have opted to share.
Built with:
- React + TypeScript
- MapLibre GL JS with Protomaps for mapping
- Vite for build tooling
- Axios for API requests
📚 Documentation: docs.terrastories.app
- Node.js 20+
- A running Terrastories server with API access
npm installCreate a .env file with your Terrastories API endpoint:
VITE_API_BASE=https://your-terrastories-server.comAdd your Explore Terrastories host to the CORS_ORIGINS variable in your Terrastories server's .env.api file:
CORS_ORIGINS=http://localhost:1080,https://your-explore-domain.comStart the development server:
npm run devOpen http://localhost:1080 to view the app.
# Run unit tests
npm test
# Run E2E tests
npm run test:e2e
# Run E2E tests with UI
npm run test:e2e:ui
# Type checking
npm run lintnpm run buildThe optimized build will be output to the dist/ folder.
npm run serveDeployment to GitHub Pages happens automatically on push to main via GitHub Actions.
src/
├── components/ # React components
├── utils/ # Utility functions
├── translations/ # i18n translations
└── setupTests.ts # Test configuration
Contributions are welcome! Please read our contributing guidelines and submit pull requests to the main branch.
See LICENSE file for details.
- Terrastories - Main application
- Terrastories Documentation - User guides and support
Developed by Awana Digital