Inspiration
DrEntry was inspired by the idea of having a simple and structured place to record dreams. Many existing tools focus on sleep metrics, but very few pay attention to the emotional and narrative side of dreaming. The project grew from the desire to create a space where people can write down their dreams, analyze them, and decide whether they want to share them with others or keep them fully private.
What it does
DrEntry allows users to authorize and create detailed dream entries. Each entry includes the date, sleep and wake times, the text of the dream, tags, mood, realism, and a public flag that determines whether the dream is visible to other users. The system supports viewing personal entries, deleting them, and managing their visibility.
How we built it
The project is built on FastAPI, using JWT authentication for secure access and SQLAlchemy for database management. Pydantic handles validation of incoming data, ensuring that every dream entry is consistent and correctly formatted. The backend exposes a clean set of endpoints for creating, retrieving, and deleting entries. The database structure was designed to keep user data isolated and secure, with each dream linked to its author through a user ID.
Challenges we ran into
One of the main challenges was handling database changes. SQLite does not automatically update table structures, so adding new fields required recreating the database. Another challenge was ensuring proper permission checks, so users could only delete or modify their own entries. We also had to refine the authentication flow to make sure tokens were handled correctly and securely.
Accomplishments that we're proud of
We successfully built a complete backend that supports authentication, dream creation, retrieval, deletion, and visibility control. The system is stable, predictable, and easy to expand. Adding the public flag made the project feel more social and flexible, allowing users to choose how open they want to be with their dream entries.
What we learned
Working on DrEntry taught us how important it is to plan data models ahead of time, especially when using SQLite. We learned how to structure a clean API, how to implement secure authentication, and how to design endpoints that are both simple and reliable. The project also reinforced the importance of privacy and user control when dealing with personal content.
What's next for DrEntry
Next steps include adding editing functionality, creating a public feed of dreams, improving tag handling, and exploring text analysis techniques to help users understand patterns in their dreams. The project has a solid foundation, and there are many directions it can grow from here.
Built With
- api
- css3
- fastapi
- html5
- javascript
- pydantic
- python
- sqlalchemy
- sqlite
Log in or sign up for Devpost to join the conversation.