{"id":25635216,"url":"https://github.com/rayeesrather99/notomatic","last_synced_at":"2026-04-09T21:04:18.046Z","repository":{"id":278611836,"uuid":"909698692","full_name":"rayeesrather99/Notomatic","owner":"rayeesrather99","description":"An AI-driven web app that generates structured notes from uploaded syllabi using OpenAI's API. Built with React, Node.js, Express.js, and MongoDB, it offers customizable note formats, downloads, and user notifications. Future updates include collaborative notes and LMS integration","archived":false,"fork":false,"pushed_at":"2025-02-20T17:34:12.000Z","size":1722,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-20T18:36:04.818Z","etag":null,"topics":["gemini-api","javascript","jwt-authentication","multer","nodejs","pdfparser","reactjs","tailwindcss","textextracting"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rayeesrather99.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-29T14:20:24.000Z","updated_at":"2025-02-20T17:34:15.000Z","dependencies_parsed_at":"2025-02-20T18:47:36.845Z","dependency_job_id":null,"html_url":"https://github.com/rayeesrather99/Notomatic","commit_stats":null,"previous_names":["rayeesrather99/notomatic"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rayeesrather99%2FNotomatic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rayeesrather99%2FNotomatic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rayeesrather99%2FNotomatic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rayeesrather99%2FNotomatic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rayeesrather99","download_url":"https://codeload.github.com/rayeesrather99/Notomatic/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240246534,"owners_count":19771132,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gemini-api","javascript","jwt-authentication","multer","nodejs","pdfparser","reactjs","tailwindcss","textextracting"],"created_at":"2025-02-22T23:19:59.911Z","updated_at":"2026-04-09T21:04:13.027Z","avatar_url":"https://github.com/rayeesrather99.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Notomatic: AI-Powered Note Generator\n\n[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Status](https://img.shields.io/badge/Status-Active-success)](https://github.com/rayeesrather99/Notomatic)\n\n## Overview\n\nNotomatic is a full-stack web application that utilizes AI to automatically generate structured notes from syllabus documents. It provides students and educators with a convenient way to create concise, organized summaries, saving time and effort in the note-taking process.\n\n## Key Features\n\n*   **Syllabus Upload:** Upload syllabus documents in PDF format.\n*   **AI-Powered Notes Generation:** Leverages the Google Gemini Pro API to generate notes based on the syllabus text.\n*   **Notes Management:** View, download (as PDF), edit, and delete generated notes within the application.\n*   **User Authentication:** Secure user accounts and login system.\n*   **Dashboard**: The dashboard gives users an overview of their notes, and a quick access to all of the key information for the application.\n\n## Technologies Used\n\n*   **Frontend:**\n    *   React.js\n    *   Vite\n    *   React Router\n    *   React Feather\n    *   Tailwind CSS\n*   **Backend:**\n    *   Node.js\n    *   Express.js\n    *   MongoDB\n    *   Mongoose\n    *   JSONWebToken\n    *   bcrypt\n    *   google-generative-ai\n    *   pdf-parse\n    *   express-rate-limit\n\n## Setup Instructions\n\nFollow these steps to set up and run Notomatic locally:\n\n### Prerequisites\n\n*   Node.js and npm (Node Package Manager)\n*   MongoDB installed and running\n*   Google Gemini API Key\n\n### Installation\n\n1.  **Clone the repository:**\n```bash\ngit clone https://github.com/your-username/notomatic.git\ncd notomatic\ncontent_copy\ndownload\nUse code with caution.\nMarkdown\n\nInstall dependencies for both the backend and frontend:\n\ncd backend\nnpm install\ncd ../frontend\nnpm install\ncontent_copy\ndownload\nUse code with caution.\nBash\n\nConfigure environment variables:\n\nCreate a .env file in the backend directory with the following variables:\n\nMONGO_URI=your_mongodb_connection_string\nJWT_SECRET=your_jwt_secret_key\nAPI_KEY=your_google_gemini_api_key\ncontent_copy\ndownload\nUse code with caution.\n\nRemember to replace the placeholder values with your actual credentials.\n\nRunning the Application\n\nStart the backend server:\n\ncd backend\nnode server.js\ncontent_copy\ndownload\nUse code with caution.\nBash\n\nStart the frontend development server:\n\ncd ../frontend\nnpm run dev\ncontent_copy\ndownload\nUse code with caution.\nBash\n*   The frontend application should be running at `http://localhost:5173` (or a similar address, as specified by Vite).\ncontent_copy\ndownload\nUse code with caution.\nAPI Endpoints\n\nHere is the list of all the API Endpoints for Notomatic:\n\nPOST /api/auth/login - Logs in a user and returns a JWT token.\n\nPOST /api/auth/signup - Registers a new user.\n\nPOST /api/feedback - Submit a new feedback (Requires Authentication)\n\nGET /api/notifications - Get all notifications (Requires Authentication)\n\nGET /api/users - Get a user (Requires Authentication)\n\nPOST /api/syllabus/upload - Upload a syllabus file (Requires Authentication)\n\nGET /api/notes/generate/:syllabusId - Generates a note from a syllabus (Requires Authentication)\n\nGET /api/notes/user - Get all notes for a user (Requires Authentication)\n\nGET /api/notes/download/:noteId - Download a specific note (Requires Authentication)\n\nDELETE /api/notes/:noteId - Deletes a specific note (Requires Authentication)\n\nPUT /api/notes/:noteId - Updates a note (Requires Authentication)\n\nGET /api/dashboard - Get all information for the dashboard (Requires Authentication)\n\nGET /api/health - Get all information for the server.\n\nImportant Considerations\n\nHere is a summary of important considerations for Notomatic:\n\nMake sure that you have the latest version of all the dependencies being used.\n\nUse the proper authentication and authorization middleware to properly manage requests.\n\nUse secure keys for the JWT and MongoDB keys.\n\nMake sure the application is secure.\n\nMake sure that all the required components are working correctly.\n\nContributing\n\nContributions are welcome! If you'd like to contribute to Notomatic, please follow these guidelines:\n\nFork the repository.\n\nCreate a new branch for your feature or bug fix.\n\nMake your changes and commit them with descriptive commit messages.\n\nSubmit a pull request.\n\nLicense\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\nContact\n\nRayees Rather - rayeesrather35@gmail.com\n\nAcknowledgements\n\nThis project was inspired by Chat Gpt.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frayeesrather99%2Fnotomatic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frayeesrather99%2Fnotomatic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frayeesrather99%2Fnotomatic/lists"}