A hands-on, lab-based backend development course built on Node.js, Express, MongoDB, EJS, REST APIs, SQL/NoSQL, Redis, WebSockets, Docker, AWS, and more. Designed to reflect industry practices and real-world project structure.
This repository contains lab work, projects, and experiments from the Back End Engineering-II (23CS008) course at Chitkara University.
| Area | Key Technologies | Skills Practiced |
|---|---|---|
| Server-side JavaScript | Node.js, npm, CommonJS, ESM | CLI, Async handling, Debugging |
| Web Framework | Express.js, REST APIs, EJS | Routing, Middleware, Templating |
| Databases | MongoDB, PostgreSQL, MariaDB, Neo4j | CRUD, Joins, Indexing, Replication |
| Advanced Concepts | Redis, WebSockets, Auth, JWT | Caching, Real-time Apps, Security |
| DevOps & Deployment | Git, Docker, AWS EC2, Beanstalk | CI/CD, Cloud Hosting |
| Testing | Unit, Functional, Integration | Reliable code, TDD |
BEE/ ├── Lab1_NodeJS_Core/ ├── Lab2_CLI_Tools/ ├── Lab3_EJS_Templating/ ├── Lab4_Express_APIs/ ├── Lab5_WebSockets_Chat/ ├── Lab6_PostgreSQL_MariaDB/ ├── Lab7_Mongo_Neo4j/ ├── Lab8_Redis_Caching/ ├── Lab9_Security_SSL_Token/ ├── Lab10_AWS_Deployment/ ├── README.md
yaml Copy Edit
Each folder contains code, instructions, and hands-on implementation aligned with the course lecture plan.
# Clone the repository
git clone https://github.com/sparshsharma81/BEE.git
cd BEE
# Go into any lab folder, e.g., Lab4_Express_APIs
cd Lab4_Express_APIs
# Install dependencies
npm install
# Run the project
node app.js
# or (if available)
npm run dev
📌 Key Learning Outcomes
Implement full backend apps using Node.js + Express
Build RESTful APIs and use EJS for server-rendered UI
Work with both SQL and NoSQL databases
Practice authentication with JWT and security best practices
Deploy using AWS and Docker
Apply caching, scaling, and testing strategies
✅ Topics Covered
Node.js modules, npm, async programming
Express routing, middlewares, error handling
EJS templating engine
API integration (http/axios)
MongoDB & Mongoose basics
PostgreSQL, MariaDB – joins, views, constraints
Redis, Neo4j, InfluxDB
WebSocket integration
Authentication (JWT), security (TLS, HTTPS)
Testing: unit, functional, integration
Docker, AWS EC2, Beanstalk
👨💻 Author
Sparsh Sharma
Backend Developer · Full Stack Learner · Passionate about Cloud & Scalable Apps
🔗 LinkedIn · 🌐 Portfolio
💡 Contribute
This repository is for academic and personal learning. If you find improvements or want to share better versions, feel free to:
Fork the repo
Add your improvements or new lab modules
Open a pull request 🚀
📜 License
MIT License. Feel free to use and build upon this for educational purposes.
"Don’t just write code — understand, test, secure, and deploy it." ✨