Giter Club home page Giter Club logo

xlog-mobile's Introduction

xLog-mobile

WIP ๐ŸŸก

Mobile app for the first on-chain and open-source blogging platform for everyone.

Discord ย Twitter ย build

Roadmap

1. Project Setup and Infrastructure

  • 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.)
  • Design and implement a clean and modern user interface for the feed list and post detail views
  • Ensure the application is responsive and works well on various devices and screen sizes
  • Implement smooth transitions and animations for enhanced user experience
  • 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)

2.1. Views Implementation

  • 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)

2.2. Data Fetching

  • 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

Development

Prerequisites

  • pnpm 7.0+ is required to install dependencies.

    npm install pnpm -g

    *Do not use the latest version of pnpm, because there are some breaking changes between EAS an local.

  • Duplicate .env.example and rename it to .env.common.

    cp .env.example .env.common

    Fill in the environment variables if you have.

    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)

Usage

  • Fork this repository and clone it to your local machine.

    git clone https://github.com/Crossbell-Box/xLog-mobile.git
  • Install dependencies

    pnpm install
  • Start the app

    pnpm start

Publishing

Refer to this document and check scripts in the packages.json file.

Continuous Integration

Refer to this document and check CI configuration files in the .github/workflows directory.

Contributing

  • Fork
  • PR to develop branch

We will test new features on staging branch and release it. ๐Ÿš€

xlog-mobile's People

Contributors

dohooo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.