Noto is an advanced interactive learning platform designed to streamline the study process. By leveraging the power of Google Gemini AI, Noto transforms uploaded documents and notes into dynamic learning assets, like flashcards and interactive quizzes.
This project was developed as a Computer Science Final Project for the 2026 Bagrut.
The live demo is still not available, but will be soon.
Traditional studying is often passive and time-consuming. Noto was built to make learning active, effective, and fast by:
- Active Recall: Generating instant flashcards to strengthen long-term memory.
- Gamified Assessment: Creating quizzes to test knowledge retention and identify weak spots.
- Automated Flashcards: Convert your learning materials into study decks with a single click.
- Interactive Quizzes: Generate custom quizzes based on your specific files to test your understanding.
- Quiz Sharing: Collaborate with classmates by sharing your generated quizzes via unique, shareable links.
- Modern UI/UX: A sleek, responsive interface built with accessibility and focus in mind.
- Next.js: React framework for high-performance routing and rendering.
- Shadcn/UI & Tailwind CSS: For a modern, professional, and responsive design system.
- ASP.NET Core: Robust and scalable backend architecture.
- Entity Framework Core: For efficient database management and ORM.
- PostgreSQL: Reliable relational database for user accounts and study data.
- Google Gemini API: Providing the intelligence behind content analysis, summarization, and question generation.
- Navigate to the
/backendfolder. - Ensure your
appsettings.jsonis configured as follows:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"Jwt": {
"Key": "YOUR_SECURE_JWT_KEY",
"Issuer": "noto",
"Audience": "noto_users"
},
"ConnectionStrings": {
"DefaultConnection": "Host=...;Port=...;Database=...;Username=...;Password=..."
}
}- Set the
DATABASE_URLenvironment variable for your PostgreSQL connection string. - Run
dotnet ef database updatefollowed bydotnet run.
- Navigate to the
/frontendfolder. - Create a
.env.localfile with the following variables:
NEXT_PUBLIC_API_URL=your_backend_api_url
NEXT_PUBLIC_GEMINI_API_KEY=your_google_gemini_api_key
- Run
npm installand thennpm run dev.
The platform uses JWT (JSON Web Token) for secure user sessions. The backend validates the Issuer and Audience to ensure that only authorized users can access and share study materials.
Distributed under the MIT License.
