Updated the welcome page to be a visually appealing introduction to the app
Sanitized user inputs when posting or editing a project
Setup a dummy github account so users can access the app without needing to expose their personal info
Populated the db with more projects
Issues/Challenges Faced
When sanitizing inputs, I wasn't sure what exactly to watch out for. I settled on length limits to prevent an overflow attack, some structural requirements via regex, and using the dompurify library to sanitize against any html injection attacks.
Upcoming Work
Update the app to scale. Includes taking the app off the free tier of Render to remove usage limits, and moving the pagination logic to the backend instead of the front, so not retrieving all projects in the db at once.
Further integrate the GitHub API for project editing. It would be nice if project contributors on our app were tied to contributors on GitHub, rather than the owner having to update both separately.
Implemented the ability for users to log out and be prompted with the option to log in again with a different account, rather than automatic re-login with the previous account.
Refactored frontend logic, thunks, and backend API endpoints to ensure the "last activity" of projects was properly updating.
Refactored frontend logic concerning the privileges of non-subscribed, subscribed, and owner users.
Populated the database with real projects and supported documentation for the project.
Issues/Challenges Faced
Encountered difficulties in allowing log-in from multiple accounts through the GitHub authentication API. This required extensive documentation reading and figuring out how to properly integrate token access into our code.
Upcoming Work
Improve project scalability by refining state management to reduce constant interaction with the backend/database (e.g., updating the user view of newly added projects every 10 minutes instead of on every page refresh).
Set up email service with Mailgun API for when a user leaves or joins a team; this includes implementing an additional helper, route and service files and integrating it with the front-end
Added additional stylings to both email templates
Helped refine README
Issues/Challenges Faced
Learning how to use Mailgun, I found the documentation wasn't very straightforward
Upcoming Work
Investigate improving the tight coupling between User and Projects; this may require changing to a hybrid schema to reference User instead of embedding the entire Project document
Kai Groden-Gilchrist
Tasks Worked On
Issues/Challenges Faced
Upcoming Work