WIP ๐ก
Mobile app for the first on-chain and open-source blogging platform for everyone.
- Set up the development environment and project structure
- Set up version control
- Configure Continuous Integration and Continuous Deployment (CI/CD)
- Set up EAS (Expo Application Services)
- Create a README for developers, including setup instructions, project overview, and contribution guidelines
- Set up error monitoring and reporting (Sentry)
- Implement testing (unit tests, end-to-end tests, snapshot tests, etc.)
- Ensure accessibility features are considered and implemented where applicable
- Optimize data fetching and caching for improved performance
- Implement lazy loading and pagination for the feed list view to handle large amounts of data
- Optimize the webview for improved performance and reduced time to first paint. (issue)
- Create comprehensive user documentation, including usage instructions and troubleshooting tips
- Create a demo video or animated GIF showcasing the application's features and functionality
- Set up community channels for discussion and support (Discord)
2. Core Features - Read-Only(Milestone)
- Add navigation between the feed list and post detail views
- Implement the main feed list view
- Implement the post detail view
- Use the webview to render the post content. (issue)
- Develop the web3 API integration for fetching blog data
- Set up the @crossbell/indexer for fetching data from the blockchain
- Implement the API call for fetching the list of blog posts
- Implement the API call for fetching the details of a specific blog post
- Integrate data fetching with the feed list and post detail views
- Display the fetched blog posts in the feed list view
- Display the fetched post details in the post detail view
-
We recommend installing ni to help switching between repos using different package managers.
npm install @antfu/ni --global
-
Duplicate
.env.example
and rename it to.env.common
.cp .env.example .env.common
Fill in the environment variables if you have.
WALLET_PROJECT_ID="" EXPO_PROJECT_ID="" BUNDLE_IDENTIFIER="" OWNER="" UPDATES_URL=""
Generate types for environment variables.
nr generate-env-types
-
If you want to specify the environment variables for the various environments, you can create
.env.development
,.env.staging
and.env.production
files. (not required and supported yet)
-
Fork this repository and clone it to your local machine.
git clone https://github.com/Crossbell-Box/xLog-mobile.git
-
Install dependencies
ni
-
Prebuild the project
nr prebuild
-
Start the app
nr start
Refer to this document and check scripts in the packages.json file.
Refer to this document and check CI configuration files in the .github/workflows directory.
We will publish the preview version of the app for testing, and once the PR is merged into the main branch, we will release it to the app store. ๐
- Fork it.
- Submit PR to
staging
branch.