{"id":25105097,"url":"https://github.com/asmitranjansinha/localloud-api","last_synced_at":"2026-04-17T10:31:36.940Z","repository":{"id":241117865,"uuid":"796284668","full_name":"asmitranjansinha/localloud-api","owner":"asmitranjansinha","description":"LocalLoud API is a NestJS-powered backend providing community-driven discussions, voting systems, and authentication for the LocalLoud mobile app.","archived":false,"fork":false,"pushed_at":"2025-02-06T08:54:52.000Z","size":131,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-02T07:26:27.738Z","etag":null,"topics":["api","community","discussions","jwt-authentication","localloud","mysql","nest-js","restful-api","typescript","voting-system"],"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/asmitranjansinha.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-05-05T13:53:22.000Z","updated_at":"2025-02-06T09:00:01.000Z","dependencies_parsed_at":"2024-05-22T14:48:38.149Z","dependency_job_id":null,"html_url":"https://github.com/asmitranjansinha/localloud-api","commit_stats":null,"previous_names":["asmitranjansinha/epics-reddit","asmitranjansinha/localloud-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/asmitranjansinha/localloud-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asmitranjansinha%2Flocalloud-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asmitranjansinha%2Flocalloud-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asmitranjansinha%2Flocalloud-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asmitranjansinha%2Flocalloud-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asmitranjansinha","download_url":"https://codeload.github.com/asmitranjansinha/localloud-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asmitranjansinha%2Flocalloud-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31925314,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T10:19:20.377Z","status":"ssl_error","status_checked_at":"2026-04-17T10:19:18.682Z","response_time":62,"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":["api","community","discussions","jwt-authentication","localloud","mysql","nest-js","restful-api","typescript","voting-system"],"created_at":"2025-02-07T22:33:34.843Z","updated_at":"2026-04-17T10:31:36.921Z","avatar_url":"https://github.com/asmitranjansinha.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🌍 LocalLoud API\n\nLocalLoud API is the backend service for the **LocalLoud** mobile application, built with **NestJS**. It provides the necessary APIs for community-driven discussions, voting systems, and user authentication. This project is designed to work seamlessly with the [LocalLoud Flutter frontend](https://github.com/asmitranjansinha/localloud).  \n\n---\n\n## ✨ Features  \n\n- **🗣 Community-Based Discussions** - APIs to create, read, update, and delete community posts.  \n- **🗳 Voting System** - APIs to create and participate in polls.  \n- **🔑 User Authentication** - Secure user authentication and authorization using JWT.  \n- **📡 RESTful APIs** - Clean and well-structured RESTful endpoints.  \n- **🧩 Modular Architecture** - Organized codebase with a modular structure for scalability.  \n\n---\n\n## 🛠 Tech Stack  \n\n- **🚀 Framework**: NestJS  \n- **📦 Package Manager**: Yarn  \n- **💾 Database**: MySQL \u0026 SQLite3  \n- **🔐 Authentication**: JWT (JSON Web Tokens)  \n- **⚙ ORM**: TypeORM  \n\n---\n\n## 📂 Project Structure  \n\n```\n📦 localloud-api\n ┣ 📂 src\n ┃ ┣ 📂 modules\n ┃ ┃ ┗ 📂 example\n ┃ ┃ ┃ ┣ 📄 example.controller.ts\n ┃ ┃ ┃ ┣ 📄 example.service.ts\n ┃ ┃ ┃ ┗ 📄 example.module.ts\n ┃ ┣ 📄 app.controller.ts\n ┃ ┣ 📄 app.module.ts\n ┃ ┗ 📄 main.ts\n ┣ 📂 test\n ┃ ┗ 📄 (test files)\n ┣ 📄 .env\n ┣ 📄 .gitignore\n ┣ 📄 package.json\n ┣ 📄 yarn.lock\n ┗ 📄 README.md\n```\n\n---\n\n## 📦 Dependencies  \n\nThis project uses the following key dependencies:  \n\n### 🔧 Core Dependencies  \n\n- `@nestjs/core` - Core framework for building scalable server-side applications.  \n- `@nestjs/common` - Common utilities and decorators for NestJS.  \n- `@nestjs/platform-express` - Express platform for NestJS.  \n- `typeorm` - ORM for database interactions.  \n- `mysql2` \u0026 `sqlite3` - MySQL \u0026 SQLite3 database support.  \n- `bcrypt` - Secure password hashing.  \n- `jsonwebtoken` - JSON Web Token (JWT) for authentication.  \n\n### 🛠 Development Dependencies  \n\n- `@nestjs/cli` - NestJS command-line interface.  \n- `@nestjs/schematics` - Schematics for scaffolding NestJS projects.  \n- `typescript` - TypeScript support.  \n- `jest` - Testing framework.  \n- `eslint` \u0026 `prettier` - Linting and code formatting.  \n\nTo install dependencies, run:  \n\n```bash\nyarn install\n```\n\n---\n\n## 🚀 Installation  \n\n1. **Clone the repository:**  \n\n   ```bash\n   git clone https://github.com/yourusername/localloud-api.git\n   cd localloud-api\n   ```\n\n2. **Install dependencies:**  \n\n   ```bash\n   yarn install\n   ```\n\n3. **Set up environment variables:**  \n\n   Create a `.env` file in the root directory and add the necessary environment variables (e.g., database connection string, JWT secret).  \n\n   Example `.env` file:  \n\n   ```env\n   DATABASE_URL=your_database_url\n   JWT_SECRET=your_jwt_secret\n   ```\n\n4. **Run the application:**  \n\n   ```bash\n   yarn start\n   ```\n\n5. **Access the API:**  \n\n   The API will be available at `http://localhost:3000/api`.  \n\n---\n\n## 🏗 Available Scripts  \n\nThese scripts help in development, testing, and production:  \n\n| Command                  | Description                                 |\n|--------------------------|---------------------------------------------|\n| `yarn start`            | 🚀 Starts the application                   |\n| `yarn start:dev`        | 🔄 Starts the app in watch mode for development |\n| `yarn start:debug`      | 🐞 Starts the app in debug mode             |\n| `yarn start:prod`       | ⚡ Runs the compiled app in production mode  |\n| `yarn build`           | 🏗 Builds the project                        |\n| `yarn lint`            | 🧹 Lints the code with ESLint                 |\n| `yarn format`          | 🎨 Formats the code using Prettier           |\n| `yarn test`            | 🧪 Runs all tests using Jest                 |\n| `yarn test:watch`      | 👀 Runs Jest in watch mode                   |\n| `yarn test:cov`        | 📊 Generates a test coverage report         |\n| `yarn test:debug`      | 🛠 Runs Jest with debugging enabled          |\n| `yarn test:e2e`        | 🔎 Runs end-to-end tests                     |\n\n---\n\n## 🤝 Contributing  \n\nContributions are welcome! Follow these steps to contribute:  \n\n1. **Fork the repository.**  \n2. **Create a new branch:**  \n\n   ```bash\n   git checkout -b feature/YourFeatureName\n   ```\n\n3. **Commit your changes:**  \n\n   ```bash\n   git commit -m '✨ Add feature XYZ'\n   ```\n\n4. **Push to the branch:**  \n\n   ```bash\n   git push origin feature/YourFeatureName\n   ```\n\n5. **Open a pull request.**  \n\n---\n\n## 📜 License  \n\nThis project is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for details.  \n\n---","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasmitranjansinha%2Flocalloud-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasmitranjansinha%2Flocalloud-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasmitranjansinha%2Flocalloud-api/lists"}