DeBored is an innovative app designed to combat boredom by allowing individuals to discover new hobbies and connect with like-minded people. Our goal is to create a personalized experience by offering tailored hobby suggestions while fostering friendships among users who share common interests!
Release: v1.0.2 (Final)
There are 4 top-level sub-directories detailed below:
.github/
contains all files for CI using GitHub Actionsfrontend/
contains all of the frontend files including code and documentationbackend/
contains all of the backend files including code and documentationreports/
contains all of the weekly status reports
Refer to all .md files for documentation.
- Install the Node.js runtime (v18.18.2) and Git in order to retrieve the source code and contribute to it
- This is necessary in order to build, test, and the run the system
- Run
git clone https://github.com/ttrenh/DeBored.git
to clone the DeBored source- Refer to Directories for the layout of our directory structure
cd frontend
from the cloned root directory- Run
npm install
to install dependencies - Install the Expo Go app on your mobile device from the App Store or Google Play Store
To build and run the system:
cd frontend
from the root directory- Run
npx expo start
- Scan the generated QR on your mobile device to launch the project
The root repository has GitHub Actions set up to automatically run the test suite on all pull requests and pushes to main.
To manually test the frontend:
cd frontend
from the root directory- Run
npm run test
to run all of our tests
To add new tests to CI testing:
- Navigate into the
frontend/screens/__tests__
from the root directory - Create a test file with the naming convention:
TestName.test.js
- Write tests using the Jest JavaScript testing framework
To build a release of the software:
- In the code and documentation, the developer should update the release version number prior to invoking the build system.
- Open the package.json file in the directories of the project
- Update the version field to a new version number following semantic versioning (e.g., "1.0.0" to "1.0.1")
- Commit changes
- Check that all dependencies are up to date
- Build the Expo App with
expo build
- Test the build
For our Beta Release, we focused on implementing the use case of allowing a user to take a quiz inquiring about their interests and have our app come up with activities based off of the user's answers. In addition, DeBored is able to generate new ideas in the case that the user is not enticed by a suggested activity (regenerated ideas are also based off of user's responses).
For our Checkpoint Release, we focused on implementing the entire basic UI for the app. We are now focusing on developing key features such as friends and location-based suggestions.
Completed Features and Functionality:
- AI Generated DeBored ideas
- Location-based suggestions
- Accounts
- Networking and friends systems