I have added support for wakatime. Just like the hackatime integration it only has the api routes right now.
I have added support for wakatime. Just like the hackatime integration it only has the api routes right now.
I have added hackatime support (kinda) I have only added it to the backend so if you somehow call the backend (i have CORS) you can link your hackatime account and view your projects
I have updated the nav bar to be more stylish. I found that react router has a NavLink component which is designed for navigation panels.
I have made it easier to add a collaborator for a project. Instead of entering the user id, you now enter the users email. This is in both the add and remove collaborator forms.
I have made some changes to the collaborator pages. Instead of user ids, it now displays their display name. I also added back buttons to most form.
I have added a small QoL update to the unpublished devlogs page, before the devlogs publish and edit button were not part of the devlog card and you had a hard time knowing what devlog it was for, now the devlog info, publish and edit button are all grouped together.
I added a small improvement to the create a devlog page. Instead of inputting a devlog id, you can now click on a dropdown that shows all the projects you own/collaborate on. Even though this is quite small, I think it will be a big QoL update.
You can now view the projects a user has made! Below the users info on their page there is a section with all their projects. The backend is essentially just the get projects route but instead of /projects it is /projects/user/user_id
I have fully added a system to reset your password. Using the previously setup resend service I setup the ability to get sent password reset emails to your email. Inside the email there is a link to the password reset form that asks for your new password twice. To request a password reset email there is a link on the bottom of the login page that redirects to the reset page.
I setup resend for email sending. I chose to use a subdomain (email.devlogs.plus) instead of the base domain because if its reputation is lowered it wont affect the base domain, only the subdomain. I tested it out with some help from my little brother.
I have added a way to change your password. There is a new button on your user page that redirects to a password change form. The form requires your old password and the new password.
I have setup an actual domain for Devlogs+ instead of the provided render domain (https://devlogs-plus-frontend.onrender.com) I have bought https://devlogs.plus. Nothing in the codebase itself has really changed except for some simple bug changes.
I added page titles to all (it think) pages across Devlogs+. And by everything I mean every component that renders a full page. I also added a favicon to look more ✨professional✨
I fixed a couple small bugs that stem from deleting users. The first was one where the user card was not showing for deleted users which was kinda easy to fix. The second one was on the backend where the user id 0 (which is for deleted users) was not getting made. It was like that because the deployed backend uses Gunicorn instead of the Flask dev server (which I was using) uses a different way to start up the server.
I have added the ability for users to delete their accounts. Deleting ones account removes their account, sets the user id for projects and devlogs to 0, and removes them as a collaborator
I added another OAuth option, HackClub! a new user can now sign up with their HackClub account (if they have one) or login (if the emails match) I will soon make it so you can link accounts to existing accounts even if the email does not match
I have implemented a system to login/register with Github. I chose to use Authlib for the OAuth implementation beacuse if I want to (hint hint) I can easily add other OAuth systems.
I added a system to upload avatars and add them to your user page. It currently uses hackclub cdn to upload the files.
I have also added a default avatar for anybody that has not set an avatar.
Avatar images have been added to basically everything that uses a user.
I finally added a feed for devlogs.
It works by using the route provided by the backend, getting the devlog id, using getSingleProject to get the rest of the details and then puts it all in a DevlogCard.
The feed shows all the devlogs posted in order of recency across all projects (As long as they are published)
I added a couple things