Study Buddy - An Academic Companion University Projects #Backend Development#Python#Databases#MSSQL#SQL
Waiting for api.github.com...
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

| Technology | Purpose | Technology | Purpose |
|---|---|---|---|
| Flask | Backend Framework | Vue.js | Frontend Framework |
| Python | Backend Application logic | Pinia | State Managment |
| MSSQL Studio | Manage SQL database | Js/Ts | Frontend Application Logic |
| Unittest | Backend testing | Jest & Cypress | Frontend Testing |
| Locust | Load Testing | Github Actions/Docker | CI/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.