Boomerang Youth Inc is a non-profit organization that promotes positive growth and bounce back opportunities to middle and high school students across the Chapel Hill-Carrboro City Schools district as well as the greater Orange County District. Their biggest program, Alternative to Suspension (ATS), served around 112 students from 15 schools within the two districts during the ’21-’22 academic year. This program offers students facing suspension an opportunity to re-engage and build on their strengths by connecting and growing alongside each other.
As the program grows, Boomerang Youth Inc is finding it harder to keep up with student documentation and student-staff communication. While they currently employ several methods to store data on students, it is becoming more and more complex to access information stored across multiple domains. Therefore, Boomerang Youth Inc is looking for a software solution that would address this issue.
With this project, we aim to help the organization streamline their administrative overhead by developing new software solutions that integrate into their workflow along with providing new capabilities.
This project was developed using the Agile/XP method by Elad Ohana, Gabriel Mercado, Zackary Barbari, and Khang Tran for the Fall 2022 COMP 523 Software Engineering Lab at The University of North Carolina at Chapel Hill.
Link to Boomerang Youth's Website: https://boomerangyouth.org/
This is the demo of the admin side of the project:
Here is a snapshot of what the student will see when they log in. The page is fully functional. Students are able to create and complete tasks and fill out the questionnaire.
- Frontend
- Next.js / React.js
- HTML / CSS / Javascript
- Backend
- Express.js
- Passport.js
- Bcrypt.js
- Jest.js
- Database
- MySQL
- PlanetScale
- Modify and create
- Admin and students users through the user dashboard or through the list of all users
- Student Sessions
- Verifying or incompleting student tasks
- Student attendence to the program
- Questionnaire and wrapup forms for the students to fill out
- Contact information, medical information, and demographics
- Automatically aggerate and view data from the database
- Modify and create
- Completing tasks
- Fill out questionnaire
- Access the help page
- Authorization system using passport-local strategy
- Session stores on server and database
- Queries to a MySQL database
- Unit testing on api calls using Jest.js
This is the team website where we have documented our team, progress, assignments, and the project.
The user manual contains all of the necessary information to install/setup the codebase and the database for it. It also contains the developer guide for the succeeding team to read, explaining the structure of the codebase, and where they should be head towards next.
The requirements that we found necessary, probable, and improbable are listed here. The user stories that guided us are also listed.
Here is our architecture diagram, data dictionary, and design rationale.
This shows our ideal test plan and our current test plan.
Here we documented our progress with the project, class assignments, when we met together, and when we met with the client.
One of the assignments for COMP 523 was a tech talk. We decided to talk about create a Next.js project and some of the important features such as special files and folders, routing, api calls, SEO, and different rendering methods (CSR, SSR, SSG, and ISR).
- https://tarheels.live/comp523f22project/tech-talk/
- https://github.com/eladohana/comp523-teamM-techtalk
Team Email: [email protected]
Elad Ohana (Design Coordinator): [email protected]
Gabriel Mercado (Team Coordinator): [email protected]
Zackary Barbari (Communication Lead): [email protected]
Khang Tran (Technical Lead): [email protected]