-
-
CiteMe saves all of your references by the projects you've created.
-
Easily export your reference list in any file format you need.
-
Revisit any resource you've referenced in the past, organized for you in the Master List.
-
Run CiteMe from the command line!
-
-
Enter your reference information through the graphical user interface!
Inspiration
For our first Hackathon, we wanted to create a project that would let us focus on developing our programming and teamwork skills. We decided to reverse-engineer an existing product: the citation generator. Reverse-engineering meant that everyone on the team had a clear image of what the finished product should look like. It also simplified the requirements-elicitation phase of the engineering process, which meant that we could get straight to work!
What it does
CiteMe is a bibliography tool with online and offline capability. It generates APA7-compliant citations and offers support for three difference resource types: books or Ebooks, web resources, and journal articles. Currently, CiteMe consists of the following independent components:
- A web interface mockup
- An offline GUI mockup
- A functional command-line program
How we built it
The majority of this project is created using the Python programming language. The GUI mock-up was created by Johann using Tkinter. Sumin created a web interface mock-up using Figma. Madison and Bilal created Python functions to generate citations based on user input, and Madison created a CLI version of the CiteMe program.
Challenges we ran into
Our team is geographically spread across the world, with members in Ontario, Manitoba, Venezuela, and South Korea! Timezones and virtual communication were a fun Depending on what information is available, the format of the final citation differs. For example, if there are no authors, then the citation should instead begin with the title of the resource used. This required a lot of conditional execution and text processing to achieve the correct citation formats! Also, did you know that things can have multiple authors? And that they can have different numbers of authors?? Pretty inconvenient! Successfully integrating the citation functions with the Tkinter interface proved to be a bit of a challenge, and we're expecting to achieve this in a future version of CiteMe!
Accomplishments that we're proud of
We were able to successfully get a working command-line version of our project, which we're thrilled about!! Madison also learned how to use kwargs to accept a variable number of author names! Johann gained a lot of proficiency working with Tkinter to create an original GUI that met the project requirements.
What we learned
Our first Hackathon proved to be an amazing learning experience! Being able to work on a project with others was challenging and new, but also very rewarding. Even just being able to see your teammates on camera working alongside you was encouraging and motivating! We learned a lot about the reverse-engineering process and the importance of planning and communication. The process of working on an actual project is completely different than working through tutorials. While it comes with challenges, such as making sure that your code doesn't break if someone doesn't have a middle name, it is also far more rewarding!
What's next for CiteMe
- More support for different citation formats!
- Generation of an APA-7 compliant reference list
- Integrate Tkinter with the citation functions for a working GUI
- Create a web interface!
About the Hackers
Built With
- python
- tkinter



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