🌳 Forest of Knowledge 🌳
An innovative application that combines productivity management with an engaging Knowledge Forest Visualization, where your learning and task progress are represented as a growing digital forest.
Inspiration
The inspiration for this app comes from the idea of gamifying productivity and learning. By visually representing knowledge growth and task progress, the app encourages users to take control of their goals in an interactive and rewarding way.
What it does
Forest of Knowledge helps users:
- Manage tasks by category, estimated time, and due dates.
- Track learning progress by adding subjects and topics to a dynamic forest.
- Visualize progress through a unique forest representation, where each tree represents a subject, and its size reflects the associated topics.
- Store data securely using MongoDB for persistent tracking.
How we built it
- Streamlit: Used for building the interactive user interface.
- MongoDB: A cloud-hosted database to store task and forest data.
- Pygame: Powered the dynamic rendering of the forest visualization.
- Python: Managed logic, integrations, and data flow.
- Auth0 (optional): Provides secure user authentication for multi-user access.
Challenges we ran into
- Authentication Integration: Ensuring a smooth login experience with Auth0 while maintaining session states.
- Visual Representation: Designing a visually appealing and meaningful forest visualization required careful scaling and layout logic.
- Database Configuration: Setting up MongoDB for cloud-based storage and ensuring proper connection handling.
- Session Persistence: Maintaining session data like user login and forest state across user sessions.
Accomplishments that we're proud of
- Successfully integrating productivity and learning into a single, intuitive platform.
- Building a Knowledge Forest Visualization that dynamically represents learning progress in real-time.
- Ensuring data persistence using MongoDB to allow users to save and resume their progress.
- Implementing user authentication for a personalized experience.
What we learned
- The importance of user-centered design when creating intuitive and engaging interfaces.
- How to integrate Pygame with Streamlit for visual rendering.
- The benefits of using cloud-hosted databases like MongoDB for secure and scalable data storage.
- Handling authentication workflows with Auth0 for secure multi-user support.
What's next for Forest of Knowledge
- Gamification: Add rewards, levels, or badges to further motivate users.
- Collaborative Features: Allow teams to track shared projects and learning progress.
- Mobile Compatibility: Build a mobile-friendly version for on-the-go productivity.
- Advanced Visuals: Enhance the forest visualization with animations or 3D models.
- Data Export: Enable users to export their tasks and learning progress as reports.
Installation
Prerequisites
- Python 3.7+
- A MongoDB Atlas account or local MongoDB instance.
Log in or sign up for Devpost to join the conversation.