items_header

Open projects

Projects available to all portals

GuildsPro
Calgary, Alberta, Canada
SB
CTO / Co-Founder
Preferred learners
  • Anywhere
  • Academic experience
Categories
Computer science & IT Mobile app development
Skills
functional requirement unit testing notification systems communication environment variables front end design push technology user feedback flutter (software) usability
Project scope
What is the main goal for this project?

To implement a robust and user-friendly notification system within the GuildsPro app, enabling seamless communication between contractors, craftsmen, and other stakeholders in the construction industry. This feature aims to enhance user engagement and ensure timely updates on job postings, application statuses, and important alerts.

What tasks will learners need to complete to achieve the project goal?

Planning Phase

  1. Requirement Analysis: Identify the specific types of notifications (e.g., job alerts, application updates) that will be sent to users and define the functional requirements for each.
  2. Design Notification Structure: Outline the content structure for different types of notifications, including title, message body, and any actionable buttons.
  3. Architecture Design: Decide on the architecture for integrating Pusher with the app, including how the app communicates with the backend to trigger notifications.

Development Phase

  1. Pusher Setup: Set up a Pusher account, create a new application within Pusher, and configure the necessary channels for sending notifications.
  • Backend Integration:Implement the logic on the server to trigger notifications based on specific events (e.g., new job posting, application status change).
  • Use Pusher’s server SDK to send messages to channels.
  • Flutter Integration:Integrate Pusher’s Flutter client SDK into the app.
  • Implement code to subscribe to the relevant Pusher channels and listen for messages.
  • Develop the functionality to display notifications within the app and as push notifications on the device.
  1. Notification Preferences: Implement a settings feature that allows users to customize their notification preferences.

Testing Phase

  1. Unit Testing: Perform unit tests on both backend and frontend code to ensure individual components function correctly.
  2. Integration Testing: Test the complete notification system to ensure that notifications are triggered, sent, and received as expected across different devices and user scenarios.
  3. User Testing: Conduct testing with a small group of users to gather feedback on the usability and effectiveness of the notification system.

Deployment Phase

  1. Deployment Preparation: Prepare the app and backend for deployment, including finalizing any environment variables and ensuring the Pusher app is set up for production.
  2. App Update Deployment: Deploy the updated version of the app with the new notification system to app stores.
  3. Monitoring: Monitor the system for any issues post-deployment, and set up logging and alerting for notification failures.

Post-Deployment

  1. Feedback Collection: Collect and analyze user feedback on the notification system.
  2. Performance Monitoring: Monitor the performance of the notification system, including delivery success rates and any latency issues.
  3. Iterative Improvement: Based on feedback and monitoring, make necessary adjustments and improvements to the notification system.


How will you support learners in completing the project?

1. Dedicated Mentorship and Staff Time

  • Expert Mentors: Learners will have access to mentors who are experts in Flutter development, backend integration, and real-time communication with Pusher. These mentors will offer guidance, answer questions, and provide feedback on project work.
  • Scheduled Office Hours: Regularly scheduled office hours will allow learners to ask questions, get clarifications, and discuss challenges directly with mentors and technical staff.

2. Access to Tools and Technology

  • Software Licenses: Necessary software licenses (if any) for development tools and IDEs (like Android Studio or Visual Studio Code) will be provided.
  • Pusher Account: Free or educational Pusher accounts will be made available to learners for the duration of the project to experiment with real-time features without incurring costs.
  • Cloud Services Credits: Credits for cloud services (if needed for backend deployment) will be provided to give learners hands-on experience with deploying and managing a live environment.

3. Comprehensive Learning Materials

  • Tutorial Content: Step-by-step tutorials and guides focusing on each critical aspect of the project, from Flutter app development to integrating Pusher and setting up the backend.
  • Documentation Access: Direct access to official Flutter, Pusher, and any other relevant documentation and resources.
  • Example Code and Templates: Pre-written code snippets, templates, and sample projects will be available to help learners understand implementation patterns and best practices.

4. Access to Data

  • Sample Data Sets: For testing notifications and backend logic, sample data sets that mimic real-world scenarios will be provided. These can be used to simulate user interactions and notification triggers.
  • API Mocking Tools: Tools and services for mocking API responses for testing purposes without the need for a live backend initially.

5. Community Support

  • Peer Collaboration: Access to a community platform or forum where learners can collaborate, share insights, and help each other overcome obstacles.
  • Group Projects: Opportunities for group work, allowing learners to collaborate on complex problems and learn from each other’s approaches and solutions.

6. Continuous Feedback Loop

  • Project Reviews: Regular project reviews and checkpoints to provide constructive feedback and ensure learners are on the right track.
  • Surveys and Feedback Mechanisms: Surveys and open feedback channels to continuously improve the support and resources provided to learners based on their experiences and needs.

7. Real-World Application and Networking

  • Industry Insights: Webinars and interactive sessions with industry professionals to provide insights into real-world applications and career opportunities in mobile development and real-time systems.
  • Networking Opportunities: Facilitating networking events or meetups (virtual or in-person) for learners to connect with professionals, mentors, and peers in the field.


About the company

Guilds Pro is on a mission to revolutionize the construction industry by simplifying the job-finding and posting process. Our vision is to streamline the connection between contractors and skilled craftsmen, making it easier and faster to complete construction projects.