{"id":36647758,"url":"https://github.com/shershah010/web-diary","last_synced_at":"2026-01-12T10:02:27.543Z","repository":{"id":38992861,"uuid":"197470714","full_name":"shershah010/web-diary","owner":"shershah010","description":"A personal web diary made using the MEAN stack","archived":false,"fork":false,"pushed_at":"2024-01-29T08:19:46.000Z","size":768,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-01-29T10:14:25.716Z","etag":null,"topics":["angularjs","auth0","docker","docker-compose","expressjs","flask","mongodb","nginx-proxy","nodejs","python3","vader-sentiment-analysis"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/shershah010.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}},"created_at":"2019-07-17T22:18:07.000Z","updated_at":"2022-04-13T18:53:34.000Z","dependencies_parsed_at":"2024-01-29T09:58:43.275Z","dependency_job_id":null,"html_url":"https://github.com/shershah010/web-diary","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/shershah010/web-diary","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shershah010%2Fweb-diary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shershah010%2Fweb-diary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shershah010%2Fweb-diary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shershah010%2Fweb-diary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shershah010","download_url":"https://codeload.github.com/shershah010/web-diary/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shershah010%2Fweb-diary/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28337870,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T06:09:07.588Z","status":"ssl_error","status_checked_at":"2026-01-12T06:05:18.301Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["angularjs","auth0","docker","docker-compose","expressjs","flask","mongodb","nginx-proxy","nodejs","python3","vader-sentiment-analysis"],"created_at":"2026-01-12T10:02:27.465Z","updated_at":"2026-01-12T10:02:27.528Z","avatar_url":"https://github.com/shershah010.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![digital journal](digital-journal.png)\n \n# Web Diary\n\nA personal diary web application with sentiment analysis.\n\n## Structure\n\n`backend/` - Handles getting and sending data to the MongoDB database. Also sends data to the models to preform sentiment analysis.\n\n`frontend/` - Provides AAA using Auth0. Allows user to view, add, and update diary entries.\n\n`models/`  - Does sentiment analysis.\n\n`proxy/`   - Does a reverse proxy and provides `tls` using NGINX.\n\n## Start Up Guide\n\n1. Setup MongoDB:\n    1. Create a MongoDB account here: https://www.mongodb.com/.\n    2. Create a collection called `diary_entries` and a database called: `diary_entries_db`.\n2. Setup Auth0:\n    1. Create an Auth0 account here: https://auth0.com/.\n    2. Create a new Single Page Web Application. \n3. Set config files:\n    1. Create `backend/config.json`:\n\n    ```json\n    {\n        \"mongodb\": {\n            \"username\": \"USERNAME\",\n            \"password\": \"PASSWORD\",\n            \"collection\": \"diary_entries\",\n            \"url\": \"MONGO_ENDPOINT.mongodb.net\"\n        }\n    }\n    ```\n\n    2. Create `frontend/src/assets/config.json`:\n\n\n    ```json\n    {\n        \"auth0\": {\n            \"domain\": \"AUTH0_ENDPOINT.auth0.com\",\n            \"client_id\": \"CLIENT_ID\" \n        }\n    }\n    ```\n\n    3. Create `models/config.json`\n\n    ```json\n    {\n        \"mongodb\": {\n            \"username\": \"USERNAME\",\n            \"password\": \"PASSWORD\",\n            \"collection\": \"diary_entries\",\n            \"url\": \"MONGO_ENDPOINT.mongodb.net\"\n        }\n    }\n    ```\n\n4. Create a certificate authority:\n    1. CA with OpenSSL, add this to your browser or OS.\n    2. `openssl req -now -nodes -out DOMAIN_NAME.csr -newkey rsa:4096 -keyout DOMAIN_NAME.key -subj 'CN=COMMON_NAME/C=COUNTRY/ST=STATE/L=LOCATION/O=ORGANIZATION'`\n    3. `openssl x509 -req -in DOMAIN_NAME.csr  -CA /PATH/TO/CA/ca.pem -CAkey /PATH/TO/CA/ca.key -CAcreateserial -out DOMAIN_NAME.crt -days 1095 -sha256 -extfile DOMAIN_NAME.ext`\n\n5. Add the frontend, backend, and models path into your `/etc/hosts`. Format should follow: `127.0.0.1\\tyour_subject_alt.your_fake_domain.com` \n6. Create a wildcard certificate that will be used for the frontend, backend, and models. Save this in `proxy/tls`.\n7. Build with `docker-compose build`\n8. Launch with `docker-compose up`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshershah010%2Fweb-diary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshershah010%2Fweb-diary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshershah010%2Fweb-diary/lists"}