Nick Svetnicka - Mod 4 - FE1705
Project Name: YouCompleteMe
You Complete Me connects students in a mentor/apprentice setup. This project is focuses around the community at Turing, and the features/functionality lean heavily in supporting its needs. At the same time, efforts have been made to allow the application to take on a more generalized approach, that could be used to connect not only students, but anyone in need of a mentoring/apprentice scheduling app.
User Authentication Using slack api oauth, or as a fallback login/password, the application will require registration.
Slack API Integration
still investigating access rightsAside from the in-app notifications planned, slack api could be used to notify users of upcoming pairings, or when a pairing was established. This would likely involve swapping the authentication to using slack oauth.
Roles Currently there are only 2 roles planned, which is simply whether the user wants to be flagged as a mentor, in which case they would be granted the ability to accept pairings, and any other mentor-only functionality. Without the mentor role, the user is treated as an apprentice, which is the base role for all new users.
Notifications The react-notification-system will be used to provide on-screen notices when a pairing has been created/cancelled, feedback has been received, or for an upcoming pairing session.
Find a Mentor The primary function of the app...to connect students with mentors, on a temporary (hourly) basis.
-
Current Skill Level: The application will ask the apprentice several questions (1-5 rating) to determine skillset across the stack in order to help determine what mentor would be the best pair.
-
Focus of Pairing: Do you have a bug? Do you want to ask generalized questions about the architecture/project setup/getting the project running? Do you want to simply do some code-review? All these areas will be available for selection by the apprentice when requesting time with the mentor.
Feedback System Upon completion of a pairing session, the application will prompt the apprentice and mentor for feedback ranging from 'did the pairing session still happen' to submitting named/anonymous feedback to either person.
Ask a Question Possibly not part of the MVP (dependent on time), another form of assistance would come from being able to submit a question directly through the application, allowing any mentor to answer it. There would be a simple code editor and commenting system built around this to support simple syntax/code questions without forming an official pairing.
User Account
- /login
- /logout
- /register
- /profile
Find a Match
- /skills
- /match
- /feedback
- /questions
Front-End
- React, Redux, Router
- Webpack
- redux-promise as middleware
- React Notification System
Back-End
- Firebase used for User Auth: Basic email/password registration
- PostgreSQL
- Express.js
- Knex.js + Bookshelf.js
Remote APIs:
- Possibly a calendar API for generating the front end calendar display
Building the UI and event creation functionality for a calendar could be a big undertaking, depending on what 3rd party packages/libraries exist for this.