Project Info
This project did not submit a demo video on Devpost.
We hacked until the last minute, so check out our Google Slides for the latest screens!
Inspiration
Like most college students, the members of our team are facing down one of the most daunting decisions we've ever had to make. At 19 years old, with barely any life experience under our belts, we need to decide what we want to do with the rest of our lives. And judges, if you've gone through a career change recently, maybe the apprehension, worry, and uncertainty that this decision brings is still fresh in your mind. Our app aims to change all of that.
What it does
Jobstr uses the familiar, fun, and snappy format of a dating app to help you find your perfect career! Swipe through jobs that are specifically tailored for your profile. Are they hot or not? If you "like" a job, you'll get a match! Then, you'll get the chance to speak to an AI chatbot specifically programmed with all the knowledge of a seasoned professional in the field. Who do you want to be?
How we built it
Inspired by the internships we've done, our tech stack uses the following tech stack: React Native TypeScript MobX-State-Tree Expo RN Reanimated for Animations AsyncStorage Jest & Maestro for Tests CircleCI We also use AI tooling: To generate inclusive images To allow you to chat with a member of a chosen career
Challenges we ran into
We have a clear pathway for all the features we want to implement to create a MVP, however we had a little bit a trouble completing some of the last features on time (eg. editing of your own profile page)
Accomplishments we're proud of
Getting almost all of our critical features done! Using a scrum and CI/CD format
What we learned
Lots about Figma, UI/UX! Data Scraping Working in the React Native Framework
Welcome to your new ignited app!
The latest and greatest boilerplate for Infinite Red opinions
This is the boilerplate that Infinite Red uses as a way to test bleeding-edge changes to our React Native stack.
Currently includes:
- React Native
- React Navigation
- MobX State Tree
- TypeScript
- And more!
Quick Start
The Ignite boilerplate project's structure will look similar to this:
ignite-project
├── app
│ ├── components
│ ├── config
│ ├── i18n
│ ├── models
│ ├── navigators
│ ├── screens
│ ├── services
│ ├── theme
│ ├── utils
│ └── app.tsx
├── assets
│ ├── icons
│ └── images
├── test
│ ├── __snapshots__
│ ├── mockFile.ts
│ └── setup.ts
├── README.md
├── android
│ ├── app
│ ├── build.gradle
│ ├── gradle
│ ├── gradle.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── keystores
│ └── settings.gradle
├── ignite
│ └── templates
| |── app-icon
│ ├── component
│ ├── model
│ ├── navigator
│ └── screen
├── index.js
├── ios
│ ├── IgniteProject
│ ├── IgniteProject-tvOS
│ ├── IgniteProject-tvOSTests
│ ├── IgniteProject.xcodeproj
│ └── IgniteProjectTests
├── .env
└── package.json
./app directory
Included in an Ignite boilerplate project is the app directory. This is a directory you would normally have to create when using vanilla React Native.
The inside of the app directory looks similar to the following:
app
├── components
├── config
├── i18n
├── models
├── navigators
├── screens
├── services
├── theme
├── utils
└── app.tsx
components This is where your reusable components live which help you build your screens.
i18n
This is where your translations will live if you are using react-native-i18n.
models
This is where your app's models will live. Each model has a directory which will contain the mobx-state-tree model file, test file, and any other supporting files like actions, types, etc.
navigators
This is where your react-navigation navigators will live.
screens
This is where your screen components will live. A screen is a React component which will take up the entire screen and be part of the navigation hierarchy. Each screen will have a directory containing the .tsx file, along with any assets or other helper files.
services Any services that interface with the outside world will live here (think REST APIs, Push Notifications, etc.).
theme Here lives the theme for your application, including spacing, colors, and typography.
utils This is a great place to put miscellaneous helpers and utilities. Things like date helpers, formatters, etc. are often found here. However, it should only be used for things that are truly shared across your application. If a helper or utility is only used by a specific component or model, consider co-locating your helper with that component or model.
app.tsx This is the entry point to your app. This is where you will find the main App component which renders the rest of the application.
./assets directory
This directory is designed to organize and store various assets, making it easy for you to manage and use them in your application. The assets are further categorized into subdirectories, including icons and images:
assets
├── icons
└── images
icons This is where your icon assets will live. These icons can be used for buttons, navigation elements, or any other UI components. The recommended format for icons is PNG, but other formats can be used as well.
Ignite comes with a built-in Icon component. You can find detailed usage instructions in the docs.
images This is where your images will live, such as background images, logos, or any other graphics. You can use various formats such as PNG, JPEG, or GIF for your images.
Another valuable built-in component within Ignite is the AutoImage component. You can find detailed usage instructions in the docs.
How to use your icon or image assets:
import { Image } from 'react-native';
const MyComponent = () => {
return (
<Image source={require('../assets/images/my_image.png')} />
);
};
./ignite directory
The ignite directory stores all things Ignite, including CLI and boilerplate items. Here you will find templates you can customize to help you get started with React Native.
./test directory
This directory will hold your Jest configs and mocks.
Running Maestro end-to-end tests
Follow our Maestro Setup recipe from the Ignite Cookbook!
Previous Boilerplates
Analysis
View
Metric
- 6
- 2
- 1
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- FirebaseIn code
- JavaScriptIn code
- ReactIn code
- TypeScriptIn code
- PythonClaimed
4 of 5 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
371 KB
Source files
121
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
sarahwxie/cruzhacks2024
702 files · 107.3 MB · @ 9f133af
Structure
Interface
89 files · 13%Screens, components and styles rendered to the user.
+5 moreAPI & routing
4 files · 1%Request entry points: routes, handlers and controllers.
Application logic
5 files · 1%Domain rules, services and shared utilities.
Data & schema
11 files · 2%Schema definitions, migrations and data access.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript93%
- JavaScript5%
- Markdown1%
- YAML0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
package.json
npm · 72- @expo-google-fonts/space-grotesk
- @react-native-async-storage/async-storage
- @react-navigation/bottom-tabs
- @react-navigation/native
- @react-navigation/native-stack
- @shopify/flash-list
- apisauce
- date-fns
- expo
- expo-application
- expo-build-properties
- expo-font
- expo-linking
- expo-localization
- expo-splash-screen
- expo-status-bar
- firebase
- i18n-js
- +54 more
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.