搜尋套件、儲存庫與 APP 分類

GitHub 儲存庫viveeeeeek/p2pbookshare

p2pbookshare

直覺式的Flutter應用程式,讓大學生能輕鬆地互相借閱與出借書籍。

p2pbookshare 專案封面
星標
3
分支
2
最近推送(UTC)
2025年4月13日
專案狀態
未封存

原始 README

以下為英文專案原文快照,最新內容請造訪 GitHub。

P2P BoookShare

A user-friendly Flutter app for college students to share and borrow books on campus.

GitHub Downloads (specific asset, latest release) GitHub Repo stars GitHub Release GitHub last commit





Features

  • 🤖 AI-Generated Summaries: Get concise and insightful book summaries powered by Gemini.
  • 🎨 Material & Dynamic Theming: Enjoy a visually appealing interface with adaptive color schemes, including light and dark modes.
  • 💬 Chat Integration: Seamlessly communicate with other users for smooth book exchanges.
  • 🗺️ Google Maps Integration: Easily select and share locations for meetups and book exchanges.
  • 🔍 Advanced Search: Quickly find your favorite books and authors using the powerful search bar.
  • 📲 Push Notifications: Stay informed with real-time notifications for chat messages.

🔨 Steps to build

  1. Clone the project:

    • Use git clone https://github.com/viveeeeeek/p2pbookshare.git to download the project from the GitHub repository.
  2. Install Dependencies:

    • Navigate to the project directory and run flutter pub get to install the required dependencies.
  3. Set Up Environment Variables (.env File):

     GOOGLE_MAPS_API_KEY=YOUR_GOOGLE_MAPS_API_KEY
     GEMINI_PRO_API_KEY=YOUR_GEMINI_PRO_API_KEY
     FIREBASAE_PROJECT_ID=YOUR_FIREBASE_PROJECT_ID
    
    • Google Maps API Key: Create a project in the Google Cloud Console and enable the Google Maps Platform APIs and obtain the API key.
    • Gemini Pro API Key: Obtain currently Gemini Pro API key, which is free of cost as of now here.
    • Firebase Project Information: Create a Firebase project in the Firebase Console and note down the Project ID and API Key for Cloud Messaging.
  4. Configure Firebase for both iOS and Android platforms:

    • Ensure the build.gradle file is properly set up and includes all necessary Firebase dependencies. Add the google-services.json file for Android and the GoogleService-Info.plist file for iOS to your project. Additionally, create and include the firebase_options.dart file in the lib/ directory to manage Firebase configuration options.
  5. Configure both debug and release builds in the app/build.gradle file. Create and properly set up the key.properties file to securely manage your signing keys and other sensitive information.

    keyAlias=key-alias
    keyPassword=key-password
    storeFile=/path/to/kestore
    storePassword=key-store-password
    
  6. Create a service account within the Google Cloud Console and obtain the service_account.json file, which is used for sending push notifications on Android. Place this file in the assets/fcm/ folder of your project.

    • Create a Service Account in Google Cloud Console
    • Navigate to the Google Cloud Console.
    • Go to the "IAM & Admin" section and select "Service Accounts".
    • Click "Create Service Account".
    • Provide a name and description for the service account.
    • Grant the service account the "Firebase Admin SDK Administrator Service Agent" role.
    • After creating the service account, go to the "Keys" section of your new service account.
    • Click "Add Key" and select "Create New Key".
    • Choose "JSON" format and click "Create".
    • Download the service_account.json file.
    • Place the downloaded service_account.json file in the assets/fcm/ folder of your Flutter project.

Contribution

All contributions are very welcome!

  • Bug reports and feature requests can be submitted here.
  • If you are a developer and wish to contribute to the app, please fork the project and submit a pull request .

License

Copyright (c) 2024, VivekS.
All rights reserved.

This source code is licensed under the GPLv3-style license found in the
LICENSE file in the root directory of this source tree.
VivekS. GitHub avatar
GitHub 作者

VivekS. ↗

Flutter | Photoshop | Anti AI slop design

Pune, India官方網站 ↗
語言DartSwiftKotlinObjective-C

分類

使用的依賴

依賴清單 39 項

如何選擇適合專案的儲存庫?

先依使用情境篩選,再比較專案活躍情況,最後到原始儲存庫確認使用要求。

  1. 透過儲存庫名稱、作者或描述搜尋,再依技術分類縮小範圍。
  2. 綜合星標、分支與最近推送比較專案;星標反映社群關注,不保證品質。
  3. 使用前在 GitHub 確認 README、授權條款與 Issues。

來源與維護

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗