{"id":20018820,"url":"https://github.com/codercake/ocean-of-pdf","last_synced_at":"2025-07-17T07:06:13.489Z","repository":{"id":239343750,"uuid":"770885798","full_name":"codercake/ocean-of-pdf","owner":"codercake","description":null,"archived":false,"fork":false,"pushed_at":"2024-08-23T15:55:30.000Z","size":7803,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-02T03:23:34.848Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/codercake.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-03-12T10:34:41.000Z","updated_at":"2024-11-09T14:41:05.000Z","dependencies_parsed_at":"2024-05-11T17:46:50.433Z","dependency_job_id":"f2d86fb1-57f5-46f7-ad2b-97bf4b26f864","html_url":"https://github.com/codercake/ocean-of-pdf","commit_stats":null,"previous_names":["codercake/ocean-of-pdf"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codercake/ocean-of-pdf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codercake%2Focean-of-pdf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codercake%2Focean-of-pdf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codercake%2Focean-of-pdf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codercake%2Focean-of-pdf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codercake","download_url":"https://codeload.github.com/codercake/ocean-of-pdf/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codercake%2Focean-of-pdf/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265575500,"owners_count":23790779,"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":[],"created_at":"2024-11-13T08:24:27.490Z","updated_at":"2025-07-17T07:06:13.471Z","avatar_url":"https://github.com/codercake.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OCEAN OF PDF \r\n\r\nThis is a Node.js application built with Express.js, MongoDB, and Google OAuth for authentication. The app allows users to create and manage both public and private stories.\r\n\r\n## Installation\r\n\r\nTo install the necessary dependencies, run the following command:\r\n\r\n```bash\r\nnpm install\r\n```\r\n\r\nThis will install all required packages listed in the `package.json` file.\r\n\r\n## Dependencies\r\n\r\nThe following packages are used in this application:\r\n\r\n- `express`: Web framework for Node.js\r\n- `mongoose`: MongoDB object modeling tool\r\n- `connect-mongo`: MongoDB session store for Express.js\r\n- `express-session`: Session middleware for Express.js\r\n- `express-handlebars`: Handlebars view engine for Express.js\r\n- `dotenv`: Loads environment variables from a `.env` file\r\n- `method-override`: Middleware for handling HTTP method overrides\r\n- `moment`: JavaScript date library for parsing, validating, manipulating, and formatting dates\r\n- `morgan`: HTTP request logger middleware\r\n- `passport`: Authentication middleware for Node.js\r\n- `passport-google-oauth20`: Passport strategy for authenticating with Google OAuth 2.0\r\n\r\n## Development Dependencies\r\n\r\n- `nodemon`: Automatically restarts the server when file changes are detected during development\r\n- `cross-env`: Sets environment variables across platforms for scripts in `package.json`\r\n\r\n## Usage\r\n\r\n### Starting the Server\r\n\r\nTo start the server in production mode, run:\r\n\r\n```bash\r\nnpm start\r\n```\r\n\r\nTo start the server in development mode with automatic restarts, run:\r\n\r\n```bash\r\nnpm run dev\r\n```\r\n\r\n### Environment Variables\r\n\r\nEnsure you have a `.env` file in the root directory of your project with the following environment variables:\r\n\r\n- `PORT`: Port number for the server to listen on\r\n- `MONGODB_URI`: MongoDB connection URI\r\n- `SESSION_SECRET`: Secret key for session management\r\n- `GOOGLE_CLIENT_ID`: Google OAuth client ID\r\n- `GOOGLE_CLIENT_SECRET`: Google OAuth client secret\r\n- `GOOGLE_CALLBACK_URL`: Google OAuth callback URL\r\n\r\n## Folder Structure\r\n\r\nThe project structure is as follows:\r\n\r\n- `app.js`: Main entry point of the application\r\n- `config/`: Configuration files\r\n- `controllers/`: Controller logic for handling routes\r\n- `models/`: MongoDB data models\r\n- `routes/`: Route definitions\r\n- `public/`: Static assets (CSS, client-side JavaScript)\r\n- `views/`: Handlebars templates\r\n \r\n ##Additional features\r\n \r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodercake%2Focean-of-pdf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodercake%2Focean-of-pdf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodercake%2Focean-of-pdf/lists"}