// Fall 2022
#Software Engineering Camp System Project
Overview
This is a group project I completed in my Software Engineering class. The purpose of this project was to learn how to create a terminal-based Java application. We were assigned to create an application that replicated what a summer camp would use. This included the ability for different types of users to login: the director, counselors, and customers. Depending on the type of user logging in, there would be different functionalities.
Learning Outcomes
- Developing a console-based application
- How to work in a team environment practicing SCRUM
- How to implement different design patterns in Java
- How to create and utilize a class UML diagram
- Controlling functionality depending on different user privileges
- How to manage data using JSON
- How to test software using JUnit tests
Director
- View and create sessions
- View list of counselors, guardians, and campers
- Create and view camper schedules
- View and edit camper information and health records
- View and create activities
- View and create cabins and assign campers
Counselors
- View camper schedules and information
- View cabins
- View activities
Guardians
- Sign up for an account
- Input camper information (saves to JSON)
Key Features
- JUnit Tests
- Storing/Using data in JSON files
- Utilizing a facade