Project DUE March 30
Final Exam: March 30
Day 01: Building the MONGO Database
Review the Course Outline
Review the Accountabilities Schedule
2 Lab Tests
Study NO SQL Databases. Start working with MONGO DB
Day 02: Building the College Enrollment System with MONGO DB
Review the concepts of MONGO DB
14-week course outline for MAD6123
Developing the Backend for a React App:
Week 1: Introduction to Backend Development
Week 2: HTTP Requests and Responses
Understand the basics of HTTP Protocol Apply HTTP Verbs, Status Codes, Headers, and Request and Response formats Implement RESTful services
Week 3: MongoDB Basics
Understand the basics of NoSQL databases Work with MongoDB in Node.js
Week 4: MongoDB Queries
Query MongoDB data using CRUD operations Work with MongoDB indexes and aggregation pipelines Understand the importance of schema design in MongoDB
Week 5: Asynchronous Programming in Node.js
Understand the basics of asynchronous programming Utilize callbacks, promises, and async/await in Node.js Work with event emitters in Node.js
Week 6: Express.js Middleware
Understand the importance of middleware in Express.js Implement custom middleware in Express.js Work with third-party middleware in Express.js
Week 7: Advanced Routing in Express.js
Work with route parameters and query strings Implement route nesting and modular routing Use route middleware to handle authentication and authorization
Week 8: Error Handling in Express.js
Understand common errors in Express.js Implement error handling middleware in Express.js Use third-party error handling middleware in Express.js
Week 9: Data Validation and Sanitization
Understand the importance of data validation and sanitization Implement data validation and sanitization using third-party middleware Work with input validation libraries in Node.js
Week 10: User Authentication
Understand the basics of user authentication Implement user authentication using Passport.js Work with session management in Node.js
Week 11: User Authorization
Understand the basics of user authorization Implement user authorization using Access Control Lists (ACLs) Work with role-based access control in Node.js
Week 12: Deploying Node.js Applications
Understand the basics of deploying Node.js applications Deploy a Node.js application using cloud platforms like AWS and Heroku Work with containerization using Docker
Week 13: Testing and Debugging
Understand the importance of testing and debugging Work with testing frameworks like Mocha and Chai Use debugging tools in Node.js
Week 14: Project Implementation
Implement a full-stack React application with a custom backend Deploy the application to a cloud platform Test and debug the application
Course Project: Building a Full-Stack Web Application with MongoDB and Node.js. Express JS will front end web server. You will use Routing to connect client web page forms to MONGO DB Queries (This will be Lab Test 1 on Wednesday).
Students can work in teams of up to 4 members. Teams can choose their own business domain to model. We will cover many interesting examples in class. These may give you some ideas.
Objective: This project will teach students how to build a full-stack web application using MongoDB and Node.js. Students will learn how to create an application that can store and retrieve data from a MongoDB database, as well as how to use Node.js to create a server for the application, and to implement the businsess rules of the Application.
1. Setting up the Environment: Students will learn how to install and configure MongoDB and Node.js. They will also learn how to use npm to install additional packages and libraries.
2. Creating the Database: Students will learn how to create a MongoDB database. Build the Data Model for thge Business Domain for your Project.
Learn how to use Mongoose to create a model that represents the data they want to store.
3. Building the Backend: Students will learn how to use Express to create a web server for the application and how to use the Mongoose model to create routes for retrieving and updating data. (Do CRUD in a JSON schema database).
5. Testing and Debugging: Students will learn how to use tools such as Postman to test the application, how to debug errors, and how to optimize performance.
6. The data model will be deployed to ATLAS (MONGO Cloud service) and your code will reach the Mongo Database instance for development and testing.
At the end of the project, students will have created a full-stack web application that can store and retrieve data from a MongoDB database.
1. A working web application
2. Code documentation and comments
3. A report summarizing the project
4. A presentation demonstrating the application
1. Quality of code (30%)
2. Quality of the user interface (30%)
3. Quality of the report and presentation (20%)
4. Completion of the project (20%)
1. MongoDB documentation
2. Node.js documentation
3. Express documentation
4. Postman documentation
5. Any additional resources provided by the instructor
Timeframe: The project should take approximately 10 days weeks to complete.
2. Basic knowledge of MongoDB
3. Basic knowledge of Node.js
4. Basic knowledge of npm
Outcome: At the end of this course, students will have gained a basic understanding of full-stack web development with MongoDB and Node.js, as well as the skills to develop and deploy their own web applications.
Note: This project is meant to be a starting point for students. Depending on the students’ level of experience, the instructor may choose to add additional features or modify the project to suit their needs.
By the end of this course, students should be able to create an application that stores and retrieves data from a MongoDB database, as well as create a server for the application using Node.js.
First Steps (do this now):
I will give you 15 minutes to organize with your teams: (this should be done by 3:25):
I want each team (one per team) send me this information in a text file. Name your text file as TeamName.txt
Include the following information:
Team members’ names and Student ID.
(Later on, we will setup GITLAB accounts for you to put your code into).