items_header

Open projects

Projects available to all portals

Agora Tutoring
Edmonton, Alberta, Canada
Dylan Zingle
Employer
3
Preferred learners
  • Anywhere
  • Academic experience
Categories
Computer science & IT Social media marketing Website development Mobile app development Software development 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?

Mentorship and Guidance

Dedicated Project Mentors:

·      Mentors will provide ongoing guidance, technical advice, and feedback.

Regular Scheduled Meetings:

·      Organize weekly meetings for progress updates, where learners can present their work, discuss challenges, and receive direct feedback.

On-Demand Support:

·      Support via Google Chat, email, or scheduled one-on-one meetings.

Supported causes
Quality education
About the company

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.

Company Overview:
Agora Tutoring is an online dedicated platform that connects students with local tutors for in-person educational sessions. By focusing exclusively on face-to-face interactions, Agora Tutoring aims to foster a more personalized and effective learning experience. The platform serves as a bridge between students seeking tailored educational support and independent tutors looking for meaningful teaching opportunities in their local areas.

Services:
Agora Tutoring provides a user-friendly web platform where students can search for and connect with tutors across a variety of subjects and educational levels. The service is designed to facilitate in-person tutoring engagements, enabling direct interaction and hands-on learning that virtual platforms cannot replicate.

Business Model:
Agora operates on a subscription-based model where users pay a monthly fee to access the platform and connect with tutors. Tutors, as independent contractors, set their own rates and schedules by connecting through Agora Tutoring. This model ensures a steady revenue stream for the platform while also providing tutors with a consistent flow of potential students.

Target Market:
The platform primarily targets students at all academic levels who prefer or require in-person tutoring to achieve their educational goals. This includes K-12 students, college students, and adult learners seeking professional development or personal enrichment in specific subjects. Parents looking for reliable and accessible tutors for their children are also a key demographic.

Strategic Goals:
Agora Tutoring aims to become the leading provider of in-person tutoring services within local communities. Strategic objectives include expanding its user base, increasing the number of tutors on the platform, and enhancing the overall user experience with features that make scheduling and session management more efficient for both students and tutors.

Competitive Advantage:
Agora Tutoring’s commitment to exclusively in-person tutoring sessions sets it apart in an era where virtual platforms are prevalent. This focus on local, face-to-face interactions not only improves learning outcomes but also builds a sense of community and trust among users. Additionally, the subscription model offers users unlimited access to potential tutoring, providing flexibility and value that single-session fees cannot match.