{"id":28290334,"url":"https://github.com/coderisshi25/paper.io-app","last_synced_at":"2025-06-13T12:32:20.991Z","repository":{"id":294065633,"uuid":"984917702","full_name":"codeRisshi25/paper.io-app","owner":"codeRisshi25","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-18T18:17:02.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-18T19:26:55.549Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/codeRisshi25.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,"zenodo":null}},"created_at":"2025-05-16T18:23:54.000Z","updated_at":"2025-05-18T18:17:06.000Z","dependencies_parsed_at":"2025-05-18T19:37:04.526Z","dependency_job_id":null,"html_url":"https://github.com/codeRisshi25/paper.io-app","commit_stats":null,"previous_names":["coderisshi25/paper.io-app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codeRisshi25/paper.io-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeRisshi25%2Fpaper.io-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeRisshi25%2Fpaper.io-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeRisshi25%2Fpaper.io-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeRisshi25%2Fpaper.io-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codeRisshi25","download_url":"https://codeload.github.com/codeRisshi25/paper.io-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeRisshi25%2Fpaper.io-app/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259645014,"owners_count":22889517,"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":"2025-05-22T02:13:08.333Z","updated_at":"2025-06-13T12:32:20.972Z","avatar_url":"https://github.com/codeRisshi25.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Paper.io - Modern Blog Editing/Publishing Platform\n\n\n![Paper.io Logo](https://github.com/user-attachments/assets/2d1bb8de-76cf-435d-8f2e-6632cde7a62d)\n\n## Overview\n\nPaper.io is a full-stack blogging platform that makes it easy to create, edit, and publish stunning blogs. Built with React, Next.js, Node.js, and MongoDB, Paper.io offers an intuitive rich text editor and streamlined workflow for content creators.\n\n## Features\n\n- **User Authentication**: Secure login and registration system\n- **Rich Text Editor**: Create beautifully formatted blog posts\n- **Draft Management**: Save drafts and publish when ready\n- **Blog Management**: Organize, edit, and delete your published content\n- **Tag Support**: Categorize your blogs with tags for better organization\n- **Responsive Design**: Beautiful interface that works on all devices\n- **Dark/Light Mode**: Choose your preferred theme\n\n## Tech Stack\n\n### Frontend\n- Next.js (React framework)\n- TypeScript\n- Tailwind CSS\n- Shadcn UI Components\n- Motion for animations\n\n### Backend\n- Node.js\n- Express.js\n- MongoDB\n- JWT Authentication\n- Cookie-based sessionsPublishing.\n\n## Project Structure\n\n```\nblogforge-app/\n├── frontend/              # Next.js frontend application\n│   ├── src/\n│   │   ├── app/           # Next.js application routes\n│   │   ├── components/    # Reusable UI components\n│   │   ├── hooks/         # Custom React hooks\n│   │   ├── providers/     # Context providers\n│   │   └── lib/           # Utility functions and types\n│   └── public/            # Static assets\n│\n└── backend/               # Express.js backend application\n    ├── config/            # Configuration files\n    ├── controllers/       # Request handlers\n    ├── middleware/        # Custom middleware\n    ├── models/            # Database models\n    ├── routes/            # API routes\n    └── services/          # Business logic\n```\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js (v18 or higher)\n- MongoDB\n- npm or yarn\n\n### Installation\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/yourusername/paper-io.git\ncd paper-io\n```\n\n2. Install backend dependencies:\n```bash\ncd backend\nnpm install\n```\n\n3. Set up environment variables:\n```\n# Create a .env file in the backend directory\nJWT_SECRET=your_jwt_secret\nMONGODB_URI=mongodb://localhost:27017/paperio\nCLIENT_URL=http://localhost:5173\n```\n\n4. Install frontend dependencies:\n```bash\ncd ../frontend\nnpm install\n```\n\n5. Set up frontend environment:\n```\n# Create a .env.local file in the frontend directory\nNEXT_PUBLIC_API_URL=http://localhost:3000\n```\n\n### Running the Application\n\n#### Development Mode\n\n1. Start the backend server:\n```bash\ncd backend\nnpm run dev\n```\n\n2. Start the frontend development server:\n```bash\ncd frontend\nnpm run dev\n```\n\n3. Access the application:\n- Frontend: http://localhost:5173\n- Backend API: http://localhost:3000\n\n#### Production Mode\n\n1. Build the frontend:\n```bash\ncd frontend\nnpm run build\n```\n\n2. Build the backend:\n```bash\ncd backend\nnpm run build\n```\n\n3. Start the production servers:\n```bash\n# Frontend\nnpm run start\n\n# Backend\nnpm run start\n```\n\n## API Endpoints\n\n### Authentication\n- `POST /api/auth/register` - Register a new user\n- `POST /api/auth/login` - Login a user\n- `GET /api/auth/profile` - Get user profile\n- `POST /api/auth/logout` - Logout a user\n\n### Blogs\n- `POST /api/blogs/drafts` - Save a blog draft\n- `POST /api/blogs/publish/:blogId` - Publish a draft blog\n- `GET /api/blogs` - Get all published blogs\n- `GET /api/blogs/:blogId` - Get a specific blog\n- `GET /api/blogs/my-blogs` - Get current user's blogs\n- `DELETE /api/blogs/:blogId` - Delete a blog\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Acknowledgments\n\n- Shadcn UI for the beautiful component library\n- Next.js team for the amazing React framework\n- MongoDB for the flexible document database\n\n---\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## Contact\n\nIf you have any questions, feel free to reach out to us at contact@paper.io.\n\nSimilar code found with 2 license types\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderisshi25%2Fpaper.io-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoderisshi25%2Fpaper.io-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderisshi25%2Fpaper.io-app/lists"}