Skip to content

The project fostering a lifelong love for reading by offering a carefully curated selection of books that appeal to young minds. Subscription based model.

License

Notifications You must be signed in to change notification settings

fahadhossain24/book-kipping-server

Repository files navigation

Book Keeping System Backend

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.

🚀 Features

  • 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

🛠️ Tech Stack

  • 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

📋 Prerequisites

  • Node.js (v20 or higher)
  • MongoDB
  • Docker (optional, for containerization)

🚀 Installation

  1. Clone the repository:
git clone https://github.com/fahadhossain24/book-kipping-server.git
cd book-kipping-server
  1. Install dependencies:
npm install
  1. Set up environment variables:
cp .env.example .env
  1. Start the development server:
npm run dev
  1. Build the production version:
npm run build
  1. Start the production server:
npm run start

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📢 Support

For support, email [email protected]

About

The project fostering a lifelong love for reading by offering a carefully curated selection of books that appeal to young minds. Subscription based model.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages