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.

Key Achievements#

  • System handles 1,000 requests per minute from 100 users concurrently
  • Achieved 95% backend test coverage with unit and integration testing
  • Deployed production-ready application using CI/CD pipeline of GitHub Actions and Docker containers
  • Created 30+ pages of SDLC documentation including test plans, milestone reports, user stories, and changelogs
  • Established backend coding standards for consistent, maintainable code

My Contributions#

  • Developed a custom persistent MSSQL relational 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

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

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.
← Back to Projects