Elven wizard casts a resurrection: pelilauta.web.app
An Open Source vue3+firebase project for a community site.
- Provide a web-forum like UX for desktop
- Provide a social-media-stream like UX for mobile, without compromising (1)
- Provide GDPR tools for Personal data removal
- Provide basic tools for community moderation
- Super simple to use
- Use the App
- Read the code
- Log issues to the github tracker of this repo
- Ask Ville for access, and start peer reviewing or writing code :P
- Ask Ville for access, and start helping with Firebase devops tasks o_O
- Use the App.
9.4.0 - and above
- Some nice to have features expect additional cloud side triggers from pelilauta-functions-2, but the app will work without the new functions without any issues.
9.0.0
- Requires Pelilauta-functions 0.2.0 for inbox functionality. Breaks authz structure for 8.x and below.
8.0.0
- Support for multiple stream post types. Breaks compatibility with "thread-only" post type model of pre 8.0.
- No migration needed, as we simply add new stream post types to database.
7.7.0 - and above
- The app now expects that https://github.com/villetakanen/pelilauta-functions/releases/tag/0.1.0 or later is installed to firebase project. As the App will function just fine without the back-end triggers in the functions project, this change is not marked as breaking.
7.0.0.
- Supports email-link auth. No longer supports multiple SSO providers for multiple acccounts with the same email.
6.0.0
- No longer compatible with skald 2.x site members model, requires a migration update for owners/members to firebase data structures
Since 4.0.0, you need to have:
- A Firebase project
- An Algolia index
- A clone of pelilauta-functions
npm install
Create a file called env.local and add following data from the Firebase app
VUE_APP_FIREBASE_API_KEY =
VUE_APP_FIREBASE_AUTH_DOMAIN =
VUE_APP_FIREBASE_DATABASE_URL =
VUE_APP_FIREBASE_PROJECT_ID =
VUE_APP_FIREBASE_STORAGE_BUCKET =
VUE_APP_FIREBASE_MESSAGING_SENDER_ID =
VUE_APP_FIREBASE_APP_ID =
VUE_APP_FIREBASE_MEASUREMENT_ID =
VUE_APP_ALGOLIA_APP_ID =
VUE_APP_ALGOLIA_APP_SEARCH_KEY =
npm run serve
npm run build
npm run lint
npm run release && npm run build && firebase deploy
git push --follow-tags origin master
You need to add a cypress.env.json file to project root with username and password to test the features that require login.
Example of the cypress.env.json file
{
"TEST_USER_EMAIL": "[email protected]",
"TEST_USER_PASSWORD": "theP4ssw0rd"
}
To run the tests
npm run test:e2e
Code MIT 2.0 -> See LICENSE file
Assets/Images: licenced separately
Flag icons from https://github.com/HatScripts/circle-flags