- Signup: Create a new user account.
- Login: Authenticate an existing user.
- View Users: Retrieve a list of all users.
- Delete User: Remove a user by ID.
- Create Blog: Add a new blog post with an image.
- View Blogs: Retrieve a list of all blog posts.
- View Blog by ID: Retrieve a specific blog post by its ID.
- Update Blog: Modify an existing blog post by ID.
- Delete Blog: Remove a blog post by ID.
- Create Message: Send a new message.
- View Messages: Retrieve a list of all messages.
- Delete Message: Remove a message by ID.
- Create Subscriber: Add a new subscriber.
- View Subscribers: Retrieve a list of all subscribers.
- Delete Subscriber: Remove a subscriber by ID.
- Cloudinary Integration: Upload and manage images using Cloudinary.
- Multer Integration: Handle file uploads using Multer.
- Authentication: Protect routes using JWT-based authentication.
- Unit Tests: Comprehensive unit tests for all modules using Mocha and Chai.
- Coverage Reports: Generate test coverage reports using NYC.
- GitHub Actions: Automated CI/CD pipeline using GitHub Actions.
- CircleCI: Automated CI/CD pipeline using CircleCI.
- Swagger: API documentation using Swagger.
- Environment Variables: Manage configuration using environment variables.
- Node.js
- MongoDB
- Cloudinary Account
- Clone the repository:
git clone https://github.com/SaddockAime/My-Brand-Saddock-backend.git
- Install dependencies
- npm install
- update environment variables with .env.example
- npm start
- npm test
- npm run coverage