Project Info
This project did not submit a demo video on Devpost.
Inspiration
I've personally faced challenges fully committing to lofty goals like going to the gym and lifting more. Between my own behavior and my friends', I've noticed that we are all pretty organized people. We diligently use calendars to manage our time. However, these lofty goals do not usually make it onto these calendars. There is a mental barrier here that I wanted to tackle. My thesis is that if people are told when they have time to achieve their goals, they will be more likely to achieve them.
What it does
Users can input the name of their goal, how long the goal will take them (e.g. 30 minutes), when they'd like to work on this goal, and how often per week they would like to work on this goal. From here, these configs are sent to Google's Calendar API. We scan users' calendars for open blocks in their specified time of day and then schedule these goals.
How we built it
React, Google Calendar API, Google Maps API, Express
Challenges we ran into
Token management for OAuth gave us some trouble, along with converting between various datatypes based on responses from APIs
Accomplishments we're proud of
This was my first full-stack project, so I am proud of myself for sticking through it and delivering something.
What we learned
This project helped me get better at parsing API documentation and stitching together a wide variety of resources to help me make progress. This project also helped me better understand the importance of authentication and how tokens are handed off between parties.
What's next
I want to do more work integrating Google Maps into the app so that scheduling can take into account the distance that needs to be traveled by people. I am also curious if this would be more successful as a Chrome extension rather than a website.
Getting Started with Create React App
This project was bootstrapped with Create React App.
Available Scripts
In the project directory, you can run:
npm start
Runs the app in the development mode.
Open http://localhost:3000 to view it in your browser.
The page will reload when you make changes.
You may also see any lint errors in the console.
npm test
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
npm run build
Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.
npm run eject
Note: this is a one-way operation. Once you eject, you can't go back!
If you aren't satisfied with the build tool and configuration choices, you can eject at any time. This command will remove the single build dependency from your project.
Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except eject will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own.
You don't have to ever use eject. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it.
Learn More
You can learn more in the Create React App documentation.
To learn React, check out the React documentation.
Code Splitting
This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting
Analyzing the Bundle Size
This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size
Making a Progressive Web App
This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app
Advanced Configuration
This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration
Deployment
This section has moved here: https://facebook.github.io/create-react-app/docs/deployment
npm run build fails to minify
This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify
Analysis
View
Metric
No commits on this project resolved to a GitHub account.
Technology
- CSSIn code
- HTMLIn code
- JavaScriptIn code
- ReactIn code
- ExpressClaimed
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
19 KB
Source files
10
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
ben-mathew/goalseek
19 files · 602 KB · @ 8a713fd
Structure
Interface
1 file · 5%Screens, components and styles rendered to the user.
Application logic
6 files · 32%Domain rules, services and shared utilities.
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
- JavaScript69%
- Markdown17%
- HTML9%
- CSS5%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
package.json
npm · 9- @react-oauth/google
- @testing-library/jest-dom
- @testing-library/react
- @testing-library/user-event
- axios
- react
- react-dom
- react-scripts
- web-vitals
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.