https://github.com/mohamed-ramadan1/wordnest
Word nest is fully function blog api application .
https://github.com/mohamed-ramadan1/wordnest
aouth2 bull cloudinary cookies docker docker-compose express jwt-authentication mongodb multer node-corn node-mailer nodejs redis socket-io stripe swigger typescript webpack winston-logger
Last synced: 5 months ago
JSON representation
Word nest is fully function blog api application .
- Host: GitHub
- URL: https://github.com/mohamed-ramadan1/wordnest
- Owner: Mohamed-Ramadan1
- License: mit
- Created: 2024-10-19T06:17:59.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-12-20T09:00:33.000Z (5 months ago)
- Last Synced: 2024-12-20T10:18:20.526Z (5 months ago)
- Topics: aouth2, bull, cloudinary, cookies, docker, docker-compose, express, jwt-authentication, mongodb, multer, node-corn, node-mailer, nodejs, redis, socket-io, stripe, swigger, typescript, webpack, winston-logger
- Language: TypeScript
- Homepage:
- Size: 932 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# blog-backend-application
Blog api project
## Feature-based Modular Architecture
## project setup

```bash
root/
├── auth-logs/ # Directory for storing authentication logs.
├── dev/ # Development-related files (optional setup or configurations).
├── docs/ # Documentation files for the project.
├── logs/ # General log files for the application.
├── node_modules/ # Node.js modules installed via npm.
├── public/ # Static files (e.g., images, CSS, JavaScript for the frontend).
├── src/ # Main source code of the application.
│ ├── config/ # Configuration files (e.g., environment variables, app settings).
│ ├── features/ # Application features, organized by modules.
│ │ ├── auth/ # Authentication module.
│ │ │ ├── controllers/
│ │ │ │ ├── accountRecovery.controller.ts # Controller for handling account recovery logic.
│ │ │ │ ├── auth.controller.ts # Controller for authentication logic (e.g., login, signup).
│ │ │ ├── dtos/ # Data transfer objects for request/response validation.
│ │ │ ├── emails/ # Email templates for authentication-related emails.
│ │ │ ├── interfaces/ # TypeScript interfaces for the auth module.
│ │ │ │ ├── authController.interface.ts # Interfaces for the auth controller.
│ │ │ │ ├── authService.interface.ts # Interfaces for the auth service.
│ │ │ ├── middlewares/ # Middleware for authentication (e.g., authorization checks).
│ │ │ │ ├── auth.middleware.ts # Middleware for validating authentication requests.
│ │ │ ├── models/ # Database models related to authentication.
│ │ │ ├── routes/ # Routes for authentication endpoints.
│ │ │ ├── services/ # Business logic for authentication.
│ │ │ ├── tests/ # Unit and integration tests for the auth module.
│ ├── jobs/ # Scheduled tasks or background jobs (e.g., cleanup, cron jobs).
│ ├── logging/ # Logging utilities for the application.
│ ├── shared/ # Shared utilities or modules used across the app.
│ ├── types/ # TypeScript type definitions for global use.
│ ├── utils/ # Utility functions or helper methods.
│ ├── app.ts # Main application entry point.
│ ├── index.ts # Application bootstrap file.
├── .dockerignore # Files and directories to ignore in Docker builds.
├── .env # Environment variables.
├── docker-compose.yml # Docker Compose configuration.
├── Dockerfile # Dockerfile for containerizing the application.
├── LICENSE # License for the project.
├── package.json # Node.js dependencies and scripts.
├── package-lock.json # Lock file for Node.js dependencies.
├── README.md # Project overview and instructions.```