A robust backend service built with TypeScript and Node.js for fostering a lifelong love for reading by offering a carefully curated selection of books that appeal to young minds. Subscription based model.
- User Authentication (Local, Google, Facebook)
- Book Management System
- Invoice generation recurring for each monthly, biannually, yearly subscription
- Box update for each invoice
- Analytical Dashboard with full control of admin
- Customer portal for managing box, subscription, account and payment
- Book ordering system
- Backend: Node.js with TypeScript
- Framework: Express.js
- Database: MongoDB with Mongoose
- Authentication: OAuth2 (Google, Facebook) with passport.js
- Email: Nodemailer
- File Upload: Express-fileupload with aws s3 bucket
- Security: bcrypt, JWT, security-audit, rate-limiting
- Logging: Winston with daily rotate file
- Process Management: PM2
- Development Tools: ESLint, Prettier, Husky
- Node.js (v20 or higher)
- MongoDB
- Docker (optional, for containerization)
- Clone the repository:
git clone https://github.com/fahadhossain24/book-kipping-server.git
cd book-kipping-server
- Install dependencies:
npm install
- Set up environment variables:
cp .env.example .env
- Start the development server:
npm run dev
- Build the production version:
npm run build
- Start the production server:
npm run start
This project is licensed under the MIT License - see the LICENSE file for details.
- Fork the repository
- Create your feature branch (git checkout -b feature/amazing-feature)
- Commit your changes (git commit -m 'Add some amazing feature')
- Push to the branch (git push origin feature/amazing-feature)
- Open a Pull Request
For support, email [email protected]