Android based Point of Sale App for Infaque.com's Non Profit Customers

Project scope
Categories
Mobile app development Information technology Software developmentSkills
application programming interface (api) git (version control system) communication android development payment processing authentications firebase android (operating system) collectionsThe main objective of this project is to build an Android-based Point-of-Sale (POS) app tailored for charitable organizations and nonprofits. The app will utilize Stripe’s Tap to Pay feature to streamline donations, allowing staff members to easily process payments in person. The app will focus on user-friendly features such as donor email collection, campaign selection, and historical payment tracking, enabling seamless donation management.
Tasks and Activities
- Learn and integrate Stripe’s Tap to Pay functionality on Android.
- Implement Firebase authentication for secure staff login using email/password and Google authentication.
- Develop a user interface that includes login, settings, payment processing, and transaction history pages.
- Handle backend communication to create and manage payment intents using existing APIs.
- Build and test functionalities incrementally to ensure a robust and reliable application.
Deliverables
- A functional Android POS app, meeting all specified milestones:
- Project setup: A Git repository with a basic app structure that runs on an Android device.
- Login and settings: Firebase-based authentication and basic user settings functionality.
- Reader connection: Stripe reader integration for Tap to Pay.
- Payment processing: A form and interface for entering donation details and processing payments.
- Success page: Confirmation details for successful transactions.
- Transaction history: A list of completed transactions.
Tasks and Deliverables
Project Setup and Hello World
- Set up the Android project in a Git repository.
- Ensure the app builds and runs on a physical Android device.
- Deliverable: A Git repository link with the basic app structure.
Sign-In Page Using Email/Password and Google Authentication
- Implement Firebase authentication for secure login.
- Create a settings page accessible from a menu, allowing users to log out.
- Deliverable: A working sign-in feature with a welcome message and menu navigation.
Connect the Stripe Reader
- Integrate Stripe’s Tap to Pay for Android and implement reader connection functionality.
- Deliverable: A functional connection between the app and the Stripe reader.
Payment Form and Payment Intent
- Build a payment form with fields for amount, donor email (optional), and campaign selection.
- Implement backend integration to create a payment intent in Stripe.
- Deliverable: A functional payment form that creates and displays payment intents.
Process Payment
- Pass the payment intent to the reader and display a Tap to Pay screen.
- Process the payment and show a basic success message.
- Deliverable: Working Tap to Pay functionality that confirms successful transactions.
Payment Successful Page
- Display transaction details, including the donor's email (if entered), amount, and confirmation message.
- Include a message indicating an email receipt has been sent.
- Deliverable: A success page showing payment details
Historical Transactions Page
- Fetch and display a list of completed transactions using existing APIs.
- Allow users to view past payments.
- Deliverable: A transaction history page with a list of payments.
Project Outcomes and Deliverables
- A fully functional Android-based POS app designed for donation management.
- Documentation of the development process and project milestones.
- A presentation or demo showcasing the app and its functionalities.
This project will provide learners with practical experience in Android development, Firebase integration, Stripe’s payment processing, and backend communication using APIs.
Providing specialized, in-depth knowledge and general industry insights for a comprehensive understanding.
Sharing knowledge in specific technical skills, techniques, methodologies required for the project.
Direct involvement in project tasks, offering guidance, and demonstrating techniques.
Providing access to necessary tools, software, and resources required for project completion.
Scheduled check-ins to discuss progress, address challenges, and provide feedback.
Supported causes
The global challenges this project addresses, aligning with the United Nations Sustainable Development Goals (SDGs). Learn more about all 17 SDGs here.
About the company
Infaque.com is a Software as a Service (SaaS) platform designed specifically for nonprofits. It offers tools and features to streamline fundraising procedures and processes, helping organizations effectively manage donations, track user activity, and enhance overall operational efficiency. The platform integrates functionalities such as short URLs, detailed URL and cookie data extraction, and tracking user interactions using tools like amplitude.com. Infaque aims to improve transparency and resource allocation through advanced planning and alignment mechanisms.