The only way to achieve the smoothest animation would be to animate a door opening over X amount of seconds then just speeding up the animation to play in .25 seconds. The longer the animation, the more angles it can cover.
In your case, from what I can observe. It’s a 90 degree angle rotation. You won’t get the perfect and smoothest rotation since you’re only giving it .25 seconds to reach its goal from 0 to 90. If you were to do TweenInfo.new(5, Enum.EasingStyle.Linear), it would be slower but you’d have more time to lerp from 0 to 90. Meaning more angles will be covered.
You could animate the door using any ROBLOX animation tools over a 5 second timespan, then playing that animation in .25 seconds by increasing the speed. Which would lead to the smoothest door swing possible. But there’s still a lot of things to consider. The user’s hardware could make the door not swing perfectly. Nothing will ever be 100% perfect. You just need to expirement and sometimes accept the fact that it’s not always going to look 100%.
Animating a door is definitely possible as I’ve seen people animate non-characters before. You just need to rig the door properly before attempting to animate them, character are already rigged for you, hence why you can simply animate them without extra work
There should be some rigging tutorials out there to help you figure how to rig your door for animation purposes.
As for playing it after animating, you’ll likely need to put a humanoid in your door to use LoadAnimation on its humanoid/Animator