Study Buddy - An Academic Companion icon Study Buddy - An Academic Companion
University Projects #Backend Development#Python#Databases#MSSQL#SQL
kdotzlaw
/
StudyBuddy
Waiting for api.github.com...
00K
0K
0K
Waiting...

Overview#

The Study Buddy is an application that allows students to keep track of their study progress and current grades. It has a custom database that allows the creation, removal and modification of users, classes, and tasks. Addiitonally, the application can track the user’s study time, grades, and progress. As per project requirements, the application can handle 1000 requests from 100 users concurrently.

Stud Buddy Architecture#

TechnologyPurposeTechnologyPurpose
FlaskBackend FrameworkVue.jsFrontend Framework
PythonBackend Application logicPiniaState Managment
MSSQL StudioManage SQL databaseJs/TsFrontend Application Logic
UnittestBackend testingJest & CypressFrontend Testing
LocustLoad TestingGithub Actions/DockerCI/CD

Our Vision#

The purpose of our Study Buddy is to help assist a student succeed in their academics while staying organized.

Core Features#

  • User Accounts: This feature will allow users to track their study time and be presented with the progress of their time usage over a period of time.
  • Track Study Time: This feature will allow users to track their study time and be presented with the progress of their time usage over a period of time.
  • Calendar: This feature will allow users to store any important dates and reminders and have it displayed in a scrollable list. This list will display the up coming important dates and how close it is to that date.
  • Grade Calculator: The grade tracker will allow users to enter and store their grades and also calculate their current grade in the course.
  • Capacity & User Requests: The Study Buddy will have a capacity of 100 users and can handle 1000 requests per minute.

Individual Contributions#

  • Developed a custom MSSQL database that stores user data, classes, and assignments
  • Created database integration tests using Python unittest
  • Used prepared statements and parameterized queries to prevent SQL injection attacks
  • Collaborated with Server Manager to ensure that the database successfully integrated with the Flask server
  • Worked with CI/CD lead to ensure that the backend was successfully deployed with GitHub Actions and Docker
  • Created project documentation including a wiki, milestone reports, test plans, and meeting minutes
  • Performed load testing with Locust to ensure that the application could handle high traffic and concurrent requests
← Back to Projects