Inspiration
Our group sat down together to think of what we would make for our project, and decided that we really wanted to focus on this year's theme of "growing together". As we thought about what kind of personal growth we could work on, we realized that everyone had something different that they were working towards. However, none of us were making too much progress! We needed to motivate each other to start working towards our daily goals and complete the tasks we put on our to-do lists.
This led us to our final idea, Tree-Check!
Tree-Check is a social To-Do List system. As a user completes more tasks on their to-do list, their very own virtual citrus tree starts to grow! When they finish their tasks, their tree will be fully grown, just like their potential for that day. The main purpose of the app is to share your progress with friends virtually, so that everyone feels motivated to get their tasks done. There are different sections of the website such as the leader boards, a personal profile section, and accounts to store personal lists and progress.
How we built it
Building the Tree-Check application in of itself was very difficult for us. It's taken us 22hrs(and counting 😭) to get to where we are, and we are very proud of the progress that we have made!
We used vue.js for the front end, along with a django backend, where we made a custom api for our user data as well as leaderboards! We also experimented with different cloud computing technologies, and developed the code together on one server using digital ocean. In fact, it is still being run on that machine right now!
None of us had very much experience with full-stack-development, so we are very proud of how far we have come.
Challenges we ran into
Working with all these new frameworks led to some tough challenges for our team to get through. Some notable ones were figuring out the overlap between vue and Django, and deciding on using just Django as an api, rather than return html templates and other hard code. Other major issues were just designing the html templates for the different sections of our web page! Getting the code to run was one question, but designing the foundation for each page was a whole other problem in itself. One thing that we tore our hair out over was an issue with our custom api! We were making calls using Axios in vue, but had an issue with our request header. No matter how hard we tried, our API calls would always have the wrong request header for “Access-Control-Allow-Origin”, which resulted in our api call failing. Eventually, we pulled the plug on Axios and switched to using the Fetch package, and things were good once again.
Accomplishments that we're proud of
Some accomplishments that we are very proud of is our custom log-in system, as well as our API. The API was something completely new to us, and being able to see the different available calls that we had set up as well as the data returned was just so satisfying. Being able to use that API in our site was something that felt really good, as we were able to do something new with Django that we had never done before.
Another thing that we were proud of was just picking up a lot more knowledge on vue itself, and becoming more experienced in web development. Most of our team members are more heavily involved in algorithm programming, without using coding for much personal applications. Being able to create this project helped us to improve at something out of our comfort zone, and we felt really good about that.
What's next for Tree Check
We plan on expanding Tree Check beyond what it is right now, with a bigger, cloud database such as Google’s Firebase, or something else. On top of that, we plan to make the project more accessible, by porting over to a mobile app as well. That way it would be easy to tick off your tasks on the go, and to peek at your friend’s progress throughout the day. Other than that, we also plan on improving the general website, and to add more features such as profile pictures, custom bios, and other things to just make the site more enjoyable for users!
Built With
- django
- javascript
- python
- rest
- vue

Log in or sign up for Devpost to join the conversation.