{"id":22336736,"url":"https://github.com/kavicastelo/legacy_notes_web","last_synced_at":"2026-04-05T22:01:53.637Z","repository":{"id":197541388,"uuid":"696416112","full_name":"kavicastelo/legacy_notes_web","owner":"kavicastelo","description":"The Legacy Notes project is a comprehensive system designed to handle personal notes securely.","archived":false,"fork":false,"pushed_at":"2023-10-20T10:05:25.000Z","size":2778,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-26T08:22:38.681Z","etag":null,"topics":["angular","express","firebase-firestore","mongodb-atlas","nodejs","private-scripts"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kavicastelo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-09-25T17:42:44.000Z","updated_at":"2023-10-01T07:23:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"a72269fa-2a2f-40b8-a068-6b7342ecbd48","html_url":"https://github.com/kavicastelo/legacy_notes_web","commit_stats":null,"previous_names":["kavicastelo/legacy_notes_web"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/kavicastelo/legacy_notes_web","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kavicastelo%2Flegacy_notes_web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kavicastelo%2Flegacy_notes_web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kavicastelo%2Flegacy_notes_web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kavicastelo%2Flegacy_notes_web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kavicastelo","download_url":"https://codeload.github.com/kavicastelo/legacy_notes_web/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kavicastelo%2Flegacy_notes_web/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31451446,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"ssl_error","status_checked_at":"2026-04-05T21:22:51.943Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["angular","express","firebase-firestore","mongodb-atlas","nodejs","private-scripts"],"created_at":"2024-12-04T06:07:51.984Z","updated_at":"2026-04-05T22:01:52.451Z","avatar_url":"https://github.com/kavicastelo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Legacy Notes Project Documentation\n\n## Overview\n\nThe **Legacy Notes** project is a comprehensive system designed to handle personal notes securely. It includes features\nsuch\nas authentication, private note management, image, video, and audio handling, as well as an attendance tracking system.\nThe project incorporates various technologies and security measures to ensure data integrity and user privacy.\n\n## Technologies Used\n\n- Frontend:\n    - Angular for the user interface.\n    - Firebase Storage for storing images, videos, and audios.\n    - Netlify for hosting the frontend application.\n\n- Backend:\n    - Node.js and Express.js for server-side scripting.\n    - MongoDB Atlas as the database for managing user data and notes.\n    - JSON Web Tokens (JWT) for user authentication and authorization.\n    - Bcrypt for password hashing and security.\n    - Firebase Storage for managing media files and folder locks.\n    - Render for hosting the backend server.\n\n## Features\n\n1. **Authentication:**\n    - Users can register, log in, and log out securely.\n    - JWT tokens are used for secure authentication.\n2. **Note Management:**\n    - Users can create, read, update, and delete private notes.\n    - Notes are stored in a MongoDB Atlas database for data persistence.\n3. **Media Handling:**\n    - Users can upload and manage images, videos, and audios.\n    - Firebase Storage is used to store media files securely.\n    - Folder locks are implemented for added security.\n4. **Attendance Tracking:**\n    - Users can mark their attendance by checking the \"I'm alive\" checkbox.\n    - Automated reminders are sent to users if they haven't marked attendance in 3 days.\n    - If there is no response after the reminder, an email is sent to a designated believer.\n\n## Security Measures\n\n- Data Encryption:\n    - Bcrypt is used for password hashing before storing in the database.\n    - Media files are stored securely in Firebase Storage.\n\n- Authorization:\n    - JWT tokens are used to authenticate and authorize users.\n    - Folder locks ensure media files are accessible only to authorized users.\n\n## Deployment\n\n- Frontend:\n    - The Angular frontend is hosted on Netlify for easy accessibility.\n- Backend:\n    - The Node.js backend is hosted on Render for server-side operations.\n    - MongoDB Atlas is used as the backend database.\n\n## How to Run Locally\n\n1. Clone the repository:\n   ```\n   git clone \u003crepository-url\u003e\n   cd legacy-notes\n   ```\n2. Install dependencies for frontend and backend:\n   ```\n   cd client\n   npm install\n   cd ../api\n   npm install\n   ```\n3. Configure environment variables for backend:\n    - Create a `.env` file in the backend directory and add necessary variables.\n\n4. Run the frontend and backend locally:\n   ```\n   cd client\n   ng serve\n   cd ../api\n   npm start\n   ```\n\n5. Access the application at `http://localhost:4200`.\n\n## Conclusion\n\nThe **Legacy Notes** project provides a secure and user-friendly platform for managing personal notes and media files. Its\nrobust authentication, data encryption, and automated attendance tracking features make it a reliable solution for users\nseeking a private and organized digital space.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkavicastelo%2Flegacy_notes_web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkavicastelo%2Flegacy_notes_web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkavicastelo%2Flegacy_notes_web/lists"}