gofore / mobile-assignment-scheduler

Mobile developer coding assignment - Meeting Scheduler

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Meeting Scheduler

Meetings are the core of any team work, it makes people feel trusted, heard and gives them the opportunity to contribute to the success of the project.

With the plenty of meetings happening at our offices, scheduling a meeting, let alone finding a free meeting room, becomes a daunting task. "Whoops sorry, was this room reserved for you?" becomes a common workplace dialogue. Help us goforeans smoothly schedule meetings and keep our projects running with an easy to use mobile application.

The Task

Your task is to develop a mobile application to schedule meetings at the most suitable times in the most suitable rooms based on what information is available in our database.

User should be able to:

  1. Easily book a meeting with more than one participant
  2. Recommend best available times and room that satisfy the requirements (participant availability, room size, equiment available, etc.)
  3. View booked meetings
  4. Add scheduled meeting to phone's calender which is shareable externally

Our system backend provides:

  1. User data, which includes times they are not available
  2. Meeting rooms data, which includes their size, availability, equipments present etc.
  3. Events data, which includes event time, participants and room booked.

Data can be accessed via this endpoint: https://app.fakejson.com/q/OHraINe7?token=TQEX1zL2SbGta2e3a1ptLw

Note:

  • You are free to use any mobile programming technology to build a native mobile application, for eg., in Android, iOS, React Native, Flutter etc.
  • You can assume user is authenticated.
  • You should use software development best practices when attempting this assignment.

Scoring Criteria

List of areas/topics that will affect your final score:

  • Code Quality

    • WTFs / minute
    • Structure
    • Coding style
    • Automated tests
  • Non-functional requirements

    • Performance
    • Security
    • Robustness / Error handling
    • Documentation
  • General

    • UI/UX
    • Innovative solutions (algorithms, used libraries, wow-effect)
    • Usage of industry best practices (design patterns, functional programming, etc.)
    • Running instructions if using exotic toolsets (also for tests...)

Submission Instructions

  • Create a personal github repository with proper running instructions
  • Send us a link to the repository

About

Mobile developer coding assignment - Meeting Scheduler