Bulldogs is a robust, scalable, and enterprise-ready Node.js backend framework designed for modern web applications. Built with performance, security, and maintainability in mind, it provides a solid foundation for building RESTful APIs and microservices.
-
Backend: (you are here!)
- Repository:
strivedi4u/bulldogs - Built with: JavaScript (99.9%), Shell (0.1%)
- Handles APIs, authentication, data storage, and business logic
- Repository:
-
Frontend:
- Repository:
strivedi4u/puppies - Renders UI, handles user interaction, fetches data from this backend
- Repository:
bulldogs/
β
βββ π controllers/ # Business logic & request handlers
β βββ authController.js # Authentication logic
β βββ userController.js # User management
β βββ apiController.js # Main API endpoints
β
βββ π middlewares/ # Express middleware stack
β βββ authMiddleware.js # JWT authentication
β βββ rateLimiter.js # Rate limiting
β βββ validator.js # Request validation
β βββ errorHandler.js # Global error handling
β
βββ π models/ # Database schemas & models
β βββ User.js # User model
β βββ Session.js # Session management
β βββ index.js # Model exports
β
βββ π£οΈ routes/ # API route definitions
β βββ auth.js # Authentication routes
β βββ users.js # User routes
β βββ api/ # API versioning
β β βββ v1/ # Version 1 routes
β β βββ v2/ # Version 2 routes
β βββ index.js # Route aggregation
β
βββ π€ uploads/ # File storage & assets
β βββ images/ # Image uploads
β βββ documents/ # Document storage
β βββ files4-pu.jpg # Demo images
β βββ files3-puppu3.jpg # Application screenshots
β
βββ π public/ # Static assets (compressed)
β βββ public.zip # Frontend assets bundle
β
βββ βοΈ config/ # Configuration files
β βββ database.js # DB configuration
β βββ server.js # Server settings
β βββ environment.js # Environment variables
β
βββ π§ utils/ # Utility functions
β βββ helpers.js # General helpers
β βββ validation.js # Validation utilities
β βββ logger.js # Logging system
β
βββ π tests/ # Test suites
β βββ unit/ # Unit tests
β βββ integration/ # Integration tests
β βββ e2e/ # End-to-end tests
β
βββ ποΈ db.js # Database connection & setup
βββ π index.js # Application entry point
βββ π .env # Environment variables
βββ π¦ package.json # Project dependencies
βββ π package-lock.json # Dependency lock file
βββ π node_modules/ # Installed packages
- β‘ High Performance - Optimized for speed and efficiency
- π Security First - Built-in security middleware and best practices
- π Scalable Architecture - Microservices-ready design
- π API Versioning - Support for multiple API versions
- π‘οΈ Error Handling - Comprehensive error management
- π Logging & Monitoring - Advanced logging capabilities
- π Authentication - JWT-based authentication system
- π Validation - Request/response validation
- β‘ Rate Limiting - Built-in rate limiting protection
- π Real-time Communication - WebSocket support
- π File Management - Advanced file upload/download
- ποΈ Database Agnostic - Support for multiple databases
- π³ Docker Support - Containerization ready
- π§ Environment Management - Multi-environment configuration
- π Analytics Integration - Built-in analytics hooks
- π Search Functionality - Advanced search capabilities
- π§ Email Integration - Email service integration
| Category | Technologies |
|---|---|
| Runtime | |
| Framework | |
| Language | |
| Database | |
| Authentication | |
| Documentation | |
| Testing | |
| Deployment | |
| Monitoring |
- Node.js (v16.0.0 or higher)
- npm or yarn
- MongoDB (local or cloud)
- Git
-
Clone the Repository
git clone https://github.com/strivedi4u/bulldogs.git cd bulldogs -
Install Dependencies
npm install # or yarn install -
Environment Setup
cp .env.example .env # Edit .env with your configuration -
Database Setup
# Start MongoDB (if local) mongod # Run database migrations npm run db:migrate
-
Start Development Server
npm run dev # or yarn dev -
Access the Application
- API:
http://localhost:3000 - Documentation:
http://localhost:3000/docs - Health Check:
http://localhost:3000/health
- API:
POST /api/v1/auth/register # User registration
POST /api/v1/auth/login # User login
POST /api/v1/auth/logout # User logout
GET /api/v1/auth/profile # Get user profile
PUT /api/v1/auth/profile # Update user profileGET /api/v1/users # Get all users
GET /api/v1/users/:id # Get user by ID
PUT /api/v1/users/:id # Update user
DELETE /api/v1/users/:id # Delete userPOST /api/v1/upload # Upload files
GET /api/v1/files/:id # Get file
DELETE /api/v1/files/:id # Delete file# Run all tests
npm test
# Run unit tests
npm run test:unit
# Run integration tests
npm run test:integration
# Run with coverage
npm run test:coverage
# Run tests in watch mode
npm run test:watch# Build Docker image
docker build -t bulldogs-app .
# Run container
docker run -p 3000:3000 bulldogs-app# Build for production
npm run build
# Start with PM2
npm run start:prod
# Or start directly
npm startWe welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Check out other amazing projects by @strivedi4u:
- π΅ Moodify - Music mood analysis platform
- π§ Brainic - AI-powered brain training app
- β Gavina - Coffee shop management system
- π GoQuery - Advanced query builder
This project is licensed under the MIT License - see the LICENSE file for details.
- Express.js team for the amazing framework
- MongoDB team for the robust database
- All contributors who made this project possible
- The amazing Node.js community


