DiaryTrove

DiaryTrove Used AI

6 devlogs
17h 51m
Created by Ilwân

A diary where you can write notes. Those memories will then be hidden and revealed again after a certain amount of time. "Because your memories are your most precious data".

AI: I used just a bit of AI (way less than 30%, but I checked the box anyway) mainly for the JavaScript and to get help on some technical aspects, while reviewing and editing the output each time.

Timeline

Okay, this one part somehow got way harder than I expected!
So, I implemented the page for the user to create a new memory. On this page, you can give the memory a title, write come content, select your mood by picking an emoji, and you can also customize the lock time for the memory, or keep the default one you set in your preferences.
But the thing that got really complicated was the media upload part.
Basically, you can upload medias (images, videos, etc) with your memory, and these medias will be attached to the memory object, and the files themselves will be stored in a dedicated folder.
The first challenge here was with the frontend, because I had to use a lot of JavaScript to make all of this work, and here I honestly got a lot of help from AI and then built more stuff over the generated code, because I only know the basics in JavaScript.
The second challenge was to privately store those medias, because with the way Django medias work, those can be accessed by anyone who can find the correct URL, but those medias in my case are private.
So I had to create a custom media storage backend which stores medias in their own folder, and those medias can only be accessed internally by the server-side code, meaning that I can perform verification and then serve the media directly from the code, without it being directly exposed.
Now the next step would be to modify the media upload system a bit to improve it, and to build the memory preview page, which shouldn't be that hard (I hope) since I already have almost all the frontend and backend code.

Ilwân
Ilwân
3h 36m 3 days ago

I fully implemented the page to change user preferences.
I also made an empty home page, and coded a bit of JavaScript so that the user gets a warning before exiting on a page containing a form, and also to lock some preferences if the user decided to prevent himself from editing the memories lock time in the preferences.
I also made quite random changes here and there for styling and navigation mainly.
The next step would now be to implement all the memories system in itself.

Update attachment

I finished implementing the sign up page, and also added better cleaner logic in my code.
I modified some CSS again, and also made a terms and conditions page and a page explaining password security. I mainly took the text from these two pages from my previous project, but did some better formatting in HTML and CSS.

Ilwân
Ilwân
2h 22m 6 days ago

I finished the log in page and its backend.
I reused part of the code from my previous project where I also had a log in page, but this time I used Django forms instead of pure HTML forms, I also changed a bit the logic to avoid repetitions, I had way too much in my previous project.
Also I spent some time on the CSS again to try and make the page appealing and visually pleasing, that was quite the challenge to make everything look aligned but I managed to do it using a grid layout.

Update attachment
Ilwân
Ilwân
2h 20m 7 days ago

For the last project, I basically didn't use CSS, so this time I'm making sure the web page looks somewhat pretty!
I wrote a basic index page in HTML, but I mainly spent some time on the CSS to make the page look better.
The layout and styling is pretty basic, but since I have little to no experience in CSS I'm really satisfied with it, I might adjust it later but for now I'll keep it like that and move on to coding the app in itself!

Update attachment

For now I made the basic Django project and app configuration, and I mainly spent some time making some drawings of what I want the interface to look like, so that I know exactly what to do when coding the project.

Update attachment