bitprj / BitCamp

Free, open-source software engineering bootcamps.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Feature Request] Create a new homework project for mongodb

lazyplatypus opened this issue · comments

Is your proposal related to a problem?
The current proposed homework project doesn't show off the mongodb capabilities very well.

Describe the solution you'd like
Let's figure it out.

To utilize the full capabilities of user input (storing data) and data visualization (retrieving and displaying data from databases), a web app could be created that receives input, stores it in a database, and visualizes for users.

@shreythecray thoughts?

I thought it would be cool if we built a clone of google forms, where the database can ingest data, return data based on queries and be a good experience to build a robust frontend.

Could you come up with a rough week by week analysis of what skills would need to be taught to get this project complete? @emsesc

Week 1: Github, VSCode, MongoDB basics

  • How to Use GitHub (commits, cloning, branches etc.)
  • MongoDB Compass: access and create your databases
  • Basic MongoDB terminology
  • The basics of JSON
  • Installing an IDE that supports JS

Week 2: Atlas Realms (Backend)

  • Create Function in Atlas Realms that is called when user submits form
  • NodeJS
  • Create Realm Trigger that executes database logic when database is updated
  • How to update MongoDB clusters

Week 3: Atlas Realms (Frontend)

  • Create HTML/CSS files to style website
  • Create JS files that call Atlas Function
  • Deploy Web App on Atlas Realms

Week 4: Displaying + Analzying Data

  • Work with Atlas Charts to visualize data on frontend
  • Perform statistical analytics on received data
  • Create another Function that updates/calculates (?)

@lazyplatypus very rough draft. The learning objectives/steps will definitely be changed once the project begins to be built.

I think that we should make it vendor agnostic, so folks don't have to deploy their webapp on mongo, and self host if needed. What do you think? @emsesc

Let's also add using material design to week 3?

I think we can keep using Atlas to host the MongoDB instance, but we can use some other vendor-agnostic service to hook into Atlas's APIs.

@lazyplatypus Adding material design sounds cool. Making it more vendor agnostic sounds great! Updates are made below:


Week 1: Github, VSCode, MongoDB basics

  • How to Use GitHub (commits, cloning, branches etc.)
  • MongoDB Compass: access and create your databases
  • Basic MongoDB terminology
  • The basics of JSON
  • Installing an IDE that supports JS

Week 2: Atlas Realms (Backend)

  • Create Function in Atlas Realms that is called when user submits form
  • NodeJS
  • Create Realm Trigger that executes database logic when database is updated
  • How to update MongoDB clusters

Week 3: Deploying a Web App

  • Create HTML/CSS files to style website
  • Create JS files that call Atlas Function
  • Deploy Web App locally or with another service
  • Using Material Design

Week 4: Displaying + Analzying Data

  • Work with Atlas Charts to visualize data on frontend
  • Perform statistical analytics on received data
  • Create another Function that updates/calculates (?)