This project is a backend application for the Builder App, developed using NestJS and MongoDB. It provides APIs and WebSocket functionalities to support a fully functional builder application, ensuring seamless communication and data management between the frontend and backend.
- User Management: CRUD operations for user data.
- Media Management:
- Media stored in MongoDB.
- Media stored on Cloudinary.
- Frontend Data: CRUD operations for frontend-related data.
- Authentication: User authentication using JWT tokens and Auth Guards.
- Real-time communication between clients using WebSocket integration.
- Schemas and DTOs: Defined for robust data validation and management.
- Enabled to support communication between the backend and frontend running on different ports.
- Framework: NestJS
- Database: MongoDB (Atlas / Compass)
- Authentication: JWT tokens and Auth Guards
- File Storage: Cloudinary
- Real-Time Communication: WebSockets
- Node.js and npm installed on your machine.
- MongoDB instance running locally or in the cloud.
- Cloudinary account for media storage.
git clone https://github.com/BilalSubhani/BuilderAppBackend.git
cd BuilderAppBackend
- Create a
.env
file in the root directory. - Add the following configuration details to your
.env
file:MONGO_URI=your_mongo_db_connection_string JWT_SECRET=your_jwt_secret_key CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name CLOUDINARY_API_KEY=your_cloudinary_api_key CLOUDINARY_API_SECRET=your_cloudinary_api_secret
npm install
npm run start:dev
- The server will run at
http://localhost:3000
. - The websockets will run at
http://localhost:3001
.
- Detailed API documentation is available at
/api/docs
(if Swagger is integrated).
To deploy this backend application:
- Set up the production environment variables.
- Build the project:
npm run build
- Start the production server:
npm run start:prod
For questions, suggestions, or support, please reach out:
- Email: bilalsubhanii@outlook.com
- GitHub: Bilal Subhani
Feel free to contribute or report issues to enhance the Builder App Backend!