items_header

Open projects

Projects available to all portals

Closed

Closed
Agora Connections
Edmonton, Alberta, Canada
Dylan Zingle
Employer
3
Preferred learners
  • Anywhere
  • Academic experience
Categories
Computer science & IT Cloud technologies Social media marketing Website development Security (cybersecurity and IT security) Databases
Skills
user experience (ux) design application programming interface (api) mongodb penetration testing user profile front end design research and development oauth authentications usability
Project scope
What is the main goal for this project?

Executive Summary:

  • Agora Tutoring is an online marketplace akin to Kijiji, equipped with a map function similar to Uber, specializing in connecting students with local tutors for in-person educational sessions.


Project Goal:

  • The primary goal of this project is to integrate OAuth-based user authentication with Facebook and Google into the Agora Tutoring platform. By incorporating these widely used authentication methods, the project aims to streamline the login process for users, thereby enhancing user accessibility and improving security measures.


Problem Statement:

  • Currently, users of the Agora Tutoring platform must go through a traditional account creation process that requires them to manually enter personal details to register. This method can be time-consuming and poses a barrier to quick access. Moreover, managing separate usernames and passwords for multiple platforms can discourage potential users due to the inconvenience and increased risk of security breaches.
What tasks will learners need to complete to achieve the project goal?

To successfully achieve the project goal of integrating OAuth-based authentication for Facebook and Google into the Agora Tutoring platform, learners will need to undertake several structured tasks. These activities are designed to cover all aspects of development, from initial setup to final deployment and testing. Here’s a breakdown of the essential tasks:


1.       Research and Planning

  • Understand OAuth 2.0: Research the OAuth 2.0 protocol to understand how it works and why it is secure.
  • Study Existing Systems: Review the current authentication system on Agora Tutoring to determine how best to integrate OAuth.
  • Obtain API Credentials: Register the application with Facebook and Google to obtain necessary client IDs and secrets.


2.       Backend Development

Set Up Authentication Framework:

  •  Install and configure Passport.js in the Express backend.
  •  Set up Passport strategies for Facebook and Google.

Secure Handling of Credentials and Tokens:

  •  Implement secure storage and handling of OAuth tokens and user credentials.
  •  Ensure all data exchanges occur over HTTPS.

Database Schema Modification:

  •  Update the MongoDB schema to store new data elements related to OAuth, such as tokens and user profile information from Facebook and Google.


3.       Frontend Development

UI/UX Design for Login:

  •  Design and implement login buttons or links for Facebook and Google on the existing user interface.
  •  Ensure the design is intuitive and aligns with the platform’s aesthetic.

Implement Client-Side OAuth Flows:

  •  Handle redirection to OAuth services and manage callbacks from Facebook and Google.
  •  Use Apollo to manage data fetching and integration into the frontend.


4.       Integration and Testing

Integrate Frontend and Backend:

  •  Ensure the frontend and backend are seamlessly integrated to handle OAuth logic.
  •  Test the complete flow from user interaction to data storage.

Security Audits and Penetration Testing:

  •  Conduct thorough security audits to identify any potential vulnerabilities.
  •  Test for common security threats in OAuth implementations.


5.       Deployment and Evaluation

Staging Deployment:

  •  Deploy the integration in a staging environment to simulate real-user scenarios.
  •  Monitor performance and troubleshoot any issues that arise.

User Acceptance Testing:

  •  Allow a controlled group of users to test the new login system.
  •  Gather feedback on usability and any encountered issues.

Final Deployment:

  •  Deploy the system to production after making necessary adjustments based on feedback and test results.


6.       Documentation and Reporting

Document the Development Process:

  •  Maintain detailed documentation of the development process, configurations, and setups for future reference and scaling.

Prepare Final Report:

  •  Compile a final report summarizing the research, development process, testing outcomes, and user feedback.
  •  Evaluate the project against the initial goals and objectives.


Conclusion

By completing these activities, learners will not only achieve the project goal but also gain valuable experience in modern web development practices and security protocols. This project will serve as a practical application of their learning, preparing them for future challenges in tech-related fields.


How will you support learners in completing the project?

Staff Time and Mentorship

Dedicated Mentors:

  • Assign experienced mentors from the team

Regular Check-Ins:

  • Schedule regular check-ins and progress meetings to discuss challenges, provide feedback, and keep the project on track. This could be weekly or bi-weekly depending on the project phase.

Availability for Questions:

  • Ensure that mentors available for ad-hoc questions via a dedicated communication channel Google Chat.


Feedback and Continuous Learning

Peer Reviews:

  • Encourage peer review sessions where learners can present their work, receive feedback, and learn from each other’s experiences.

Reflective Learning Sessions:

  • Host end-of-project reflective sessions where learners can discuss what went well, what could be improved, and how the skills they acquired can be applied in future projects.
  • By providing these layers of support and resources, learners will be equipped not only to meet the challenges of the project but also to gain valuable skills and experience that will benefit their future professional development. This comprehensive support structure is designed to foster an environment of learning, collaboration, and achievement.
Supported causes
Quality education
About the company

Company Overview:
Agora Connections is a contracting and consulting firm that specializes in web development and process automation for small businesses. This branch of Agora leverages cutting-edge technology to enhance business efficiency and promote scalability. Through customized digital solutions, Agora Connections is committed to helping small businesses modernize their operations and increase their market competitiveness.

Services:
Agora Connections offers a wide range of services designed to meet the diverse needs of small businesses:
• Website Development: From basic websites to complex e-commerce platforms, Agora Connections designs and develops tailored web solutions that reflect the client’s brand and meet their business needs.
• Process Automation: Agora Connections implements advanced automation solutions to streamline business operations, reduce manual labor, and improve process efficiency.
• Digital Transformation Consulting: The firm provides expert advice and strategies to guide small businesses through their digital transformation journeys, ensuring that they effectively utilize technology to achieve their business objectives.

Business Model:
Agora Connections operates on a project-based and retainer model, allowing flexibility in how services are offered. Small businesses can engage Agora Connections for specific projects such as website creation or an overarching service agreement that covers continuous process optimization and tech support, aligning with the firm’s focus on fostering long-term partnerships.

Target Market:
Agora Connections primarily targets small businesses across various industries that are looking to enhance their operational efficiency and online presence. The target market includes startups, established small enterprises, and family-owned businesses eager to adopt new technologies to stay competitive.

Strategic Goals:
• Expansion of Services: Agora Connections aims to continuously expand its technology offerings, including integrating emerging technologies.
• Market Penetration: The firm seeks to increase its market share by targeting underserved regions and industries, promoting the benefits of digital transformation.
• Partnership Development: Building strategic partnerships with technology providers and industry specialists to enhance service offerings and provide comprehensive solutions to clients.

Competitive Advantage:
Agora Connections distinguishes itself through:
• Customized Solutions: Tailored digital strategies that are directly aligned with the specific needs of small businesses.
• Expertise and Agility: A team of experts skilled in the latest technologies, capable of adapting solutions quickly to meet changing market demands.
• Focus on ROI: Delivering solutions that not only enhance efficiency but also directly contribute to revenue growth and cost reduction.

By concentrating on these areas, Agora Connections is positioned to help small businesses effectively navigate the complexities of digital adoption and thrive in a technology-driven marketplace.