Project Info
This project did not submit a demo video on Devpost.
Why did we make Learndeck? Studying sucks for all of us. I'll give it to you, it feels great to knock a test out of the park, but that's because you stayed up till 3am last night hopped up on Red Bulls neglecting your girlfriend. It was pretty evident that there had to be a better way, so we checked and, uh, it was slim pickings to say the least. Instead, we put our heads together and made what's tantamount to an AI tutor. Like one of the fancy ones you'd get after inheriting your dead uncle's estate, but on your phone. How does it feel to use Learndeck? Short answer? Learndeck is a lightweight mobile app that generates a course for you based on literally any topic you give us, composed of relevant YouTube videos, written lesson plans, adaptive quizzes, and an AI chatbot that answers any questions you have. The long answer – I'm going to try and walk you through the flow here. You start your Learndeck journey by logging into the app securely (special thanks to Auth0). Now you're on the homepage where you'll see your saved courses and recently viewed courses. That part's a lot like Quizlet, and in accordance with that, there's a search function allowing you to access specific courses other folks have already generated. But say you can't find exactly what you're looking for. No worries, like we mentioned, just generate it yourself. Hit the course creation button, input the topic and the subtopics you wanted to study, and that's literally it. I swear, studying becomes so much more efficient this way. I'll be using it on my calc test next week. Okay that's sick, how did you guys pull it off? Good question. I'm going to take advantage of your attention here to shine the spotlight on my wonderful colleagues. Mithil and Anav helped work out the initial concept and push a beta. They built the skeleton of Learndeck with Gemini, React, and plenty of elbow grease. That's where Atharv jumped in, helping to bring their concept onto your phone right now. Together, and with strategic implementation of our sponsor software Auth0 and MongoDB Atlas, we're proud of the beautiful mess we ended up with. As for my contribution, I was in charge of UI/UX, branding and messaging, and writing whatever this is. You could say they assembled the organs of Learndeck and I wrapped them in skin, although that would be morbid and I'm regretting this phrasing already. Challenges, accomplishments, what we learned I'm going to hit you with these rapid fire. Challenges, we're used to 24 hour hackathons and this was insane, so pacing ourselves was definitely something weird to contend with. Accomplishments, we all got a lot better at our individual strengths and we managed to stay afloat in a sea of college students. We're all high school juniors right now, trying to beef up our portfolio you know how it is, so definitely a bit of a culture shock, right? In terms of what we learned, this is our first time building something for social good so it was a pretty unique experience that we're looking forward to doing again.
What's next
for us Follow me on Devpost if you enjoyed this project. Every single hackathon we aim to outdo ourselves, so I guarantee the next one's going to be even better. Also, this isn't related to Learndeck at all, but I'm launching an overnight hackathon but for music this April. I'd love to give you the whole pitch if you'd be interested in potentially contributing to the event fiscally, so please reach out to me on LinkedIn. Have a good one!
Flutter Sample App
This sample app demonstrates the integration of the Auth0 Flutter SDK into a Flutter app. The sample is a companion to the Auth0 Flutter Quickstart.
Requirements
- Flutter 3+
- Xcode 14.x / 15.x (for iOS/macOS)
- Android Studio 4+ (for Android)
Configure Auth0 Application
📱 Mobile/Desktop
Go to the settings page of your Auth0 application and add the corresponding URL to Allowed Callback URLs and Allowed Logout URLs, according to the app target you want to run. If you are using a custom domain, replace YOUR_AUTH0_DOMAIN with the value of your custom domain instead of the value from the settings page.
Android
SCHEME://YOUR_AUTH0_DOMAIN/android/YOUR_PACKAGE_NAME/callback
iOS
YOUR_BUNDLE_ID://YOUR_AUTH0_DOMAIN/ios/YOUR_BUNDLE_ID/callback
macOS
YOUR_BUNDLE_ID://YOUR_AUTH0_DOMAIN/macos/YOUR_BUNDLE_ID/callback
🌐 Web
Go to the settings page of your Auth0 application and configure the following URLs:
- Allowed Callback URLs:
http://localhost:3000 - Allowed Logout URLs:
http://localhost:3000 - Allowed Web Origins:
http://localhost:3000
Configure Auth0 Flutter
The sample app uses flutter_dotenv for its configuration. Rename .env.example to .env and provide the appropriate domain and Client Id. Optionally, when using Android, you can configure the scheme as well. This can be set to a custom scheme, or https if you want to use Android App Links. You can read more about setting this value in the Auth0.Android SDK README.
AUTH0_DOMAIN=dev-t1qeokemoah3ctwm.us.auth0.com
AUTH0_CLIENT_ID={yourClientId}
# AUTH0_CUSTOM_SCHEME=SCHEME
Android
In the sample, we are using values referenced from android/app/src/main/res/values/strings.xml. Rename strings.xml.example to strings.xml and fill in the respective values.
com_auth0_domain: The domain of your Auth0 tenant. Generally, you can find this in the Auth0 Dashboard under your application's settings in the Domain field. If you are using a custom domain, you should set this to the value of your custom domain instead.com_auth0_scheme: The scheme to use. Can be a custom scheme, orhttpsif you want to use Android App Links. You can read more about setting this value in the Auth0.Android SDK README.
iOS/macOS
The sample has already configured the required Url Types to ensure the callback and logout URLs can reach the app, so there is nothing to configure to run the sample on iOS and macOS.
Run the sample
To run the project, use the Flutter CLI's run command.
📱 Mobile/Desktop
flutter run
Ensure you have at least one emulator running. If you have multiple running, the CLI will prompt you to select the one to run the app on.
🌐 Web
flutter run -d chrome --web-port 3000 --web-renderer html
Compile the sample
To compile the project, use the Flutter CLI's build command, including the platform you want to target.
flutter build apk
flutter build ios
flutter build macos
flutter build web
Issue Reporting
For general support or usage questions, use the Auth0 Community forums or raise a support ticket. Only raise an issue if you have found a bug or want to request a feature.
Do not report security vulnerabilities on the public GitHub issue tracker. The Responsible Disclosure Program details the procedure for disclosing security issues.
What is Auth0?
Auth0 helps you to:
- Add authentication with multiple sources, either social identity providers such as Google, Facebook, Microsoft Account, LinkedIn, GitHub, Twitter, Box, Salesforce (amongst others), or enterprise identity systems like Windows Azure AD, Google Apps, Active Directory, ADFS, or any SAML identity provider.
- Add authentication through more traditional username/password databases.
- Add support for linking different user accounts with the same user.
- Support for generating signed JSON Web Tokens to call your APIs and flow the user identity securely.
- Analytics of how, when, and where users are logging in.
- Pull data from other sources and add it to the user profile through JavaScript Actions.
Why Auth0? Because you should save time, be happy, and focus on what really matters: building your product.
License
This project is licensed under Apache License 2.0. See the LICENSE file for more information.
Analysis
View
Metric
- 31
- 17
- 6
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
- CIn code
- DartIn code
- KotlinIn code
- SwiftIn code
- Google GeminiClaimed
- MongoDBClaimed
4 of 6 appear in the indexed code. 2 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
143 KB
Source files
42
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
mithilp/learndeck
95 files · 307 KB · @ 8e0499a
Structure
Interface
26 files · 27%Screens, components and styles rendered to the user.
Application logic
31 files · 33%Domain rules, services and shared utilities.
+5 moreData & schema
5 files · 5%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
- Dart85%
- Markdown4%
- XML4%
- YAML4%
- Kotlin2%
- Swift2%
- Other (1)0%
Share of indexed source by file size. Binary and vendored files are excluded.
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.