DEV Community

Kevin Gao
Kevin Gao

Posted on

GradeTree

Hey, this is Kevin. I'd like to introduce a project called GradeTree that I made during high school.

My Final Project

I made the app GradeTree in my junior year in high school. It is an app for students to manage their grades and other school-related information. Here's a little backstory about the project.

In April 2019, the Chicago Public School District switched from its old grade book system into a new platform called Aspen. Ever since its first day of release, the platform has faced criticisms from both teachers and students in the district. Many students complained about the difficulty of finding grades. So I decided to do something about it. Using web scraping, I was able to make an app that displays students' grades, attendance records, digital transcripts, and other information in an intuitive interface. I also took steps to ensure data security and accessibility.

Since the release of the app, it has helped hundreds of students across the district. The source code is on GitHub so that other high school students in the district could also engage in the development and provide feedback. At the beginning of this year, I was offered the opportunity to meet with the team from Chicago Public Schools, including its CIO, where I introduced my project to them. They told me that they would like to offer me opportunities to work with CPS and continue improving the user experience of student platforms

Demo Link

https://play.google.com/store/apps/details?id=com.kevingaojx.gradetree&hl=en_US

image_2020-05-20_02-18-39 image_2020-05-20_02-19-33

Link to Code

GitHub logo gaojunxuan / GradeTreeCPS

A grade tracker app for CPS students

GradeTreeCPS

A grade tracker app for CPS students.

Check your grade, attendance, schedule and all the things you want to know and need to know about your school life using GradeTree.

Build and run the project

This project uses Expo and React Native. In order to build and run the project, you have to install Expo-Cli first.

npm install expo-cli --global

Run

npm install

to install all dependencies.

Then run

expo start

in the project directory.

To build standalone packages, run

expo build:ios

For Android, use

expo build:android

Project Structure

│
└─assets
    Asset files including logos and splash screen images
└─components
    UI components. Deprecated
└─constants
    Colors and global theme files
└─helpers
    Helper classes for http requests
└─navigation
    Codes for tab navigation
└─screen
    AcademicsScreen.js
      Homepage, screen for displaying grades
    AssignmentDetailScreen.js
      Screen for displaying grades for specific category
    AssignmentListScreen.js
      Screen for displaying grades for specific class
    AttendanceScreen.js
      Screen for displaying attendance
    LoginScreen.js

How I built it

I built the app using JavaScript with React Native. I used the Expo toolchain. It was my first time making an app using React Native (I used to be a UWP developer), and I definitely learned a lot through the development process.

Additional Thoughts / Feelings / Stories

This project is kind of a milestone in my high school career. I transferred to my high school in my junior year, barely knowing any people. Building this app helped me find my place in this community and my way of contributing to it. I grew more confident during the development of the app and was able to meet many great people. Some people that I met because of this project later became some of my best friends.

Top comments (0)