Skip to content

Akshats-git/Server-OpenLake_Summer_Bootcamp

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 

Repository files navigation

Server-OpenLake_Summer_Bootcamp

Welcome to the Backend Bootcamp with Node.js, Express.js, and MongoDB!
This repository is designed for mentees to learn full-fledged backend development by building hands-on projects, one step at a time.

Each mentee will have their own folder (named after themselves) where they will complete and commit all their tasks.


πŸ“š What You'll Learn

By the end of this bootcamp, you'll be able to:

  • Set up a Node.js server
  • Create APIs using Express.js
  • Understand RESTful routing
  • Work with MongoDB (CRUD operations)
  • Use Postman for API testing
  • Implement Authentication and Authorisation using JWT
  • Connect backend to frontend (basic integration)
  • Structure a backend project using MVC architecture

πŸ“ Folder Structure

Each mentee must create a folder using their full name (in lowercase and separated by hyphens). For example: slok-tulsyan/

Each task should be inside its own subfolder with clear naming (e.g., task-01, task-02), and should include:

  • index.js (entry point)
  • package.json
  • .env file (if required, do NOT push sensitive data)
  • A README.md inside each task folder explaining what you've done

βœ… Weekly Tasks

πŸ”Ή Task 1: Setup Node.js Project

  • Initialize a Node.js project
  • Create a simple server using Express.js
  • Setup basic routes (/, /about)
  • Use nodemon

πŸ”Ή Task 2: MongoDB Integration

  • Setup MongoDB using Mongoose
  • Integrate your database with your created server

πŸ”Ή Task 3: REST API Basics

  • Create a CRUD API for "Todo" & "Note" resources
  • Store data in Database

πŸ”Ή Task 4: Authentication & Authorization

  • Add user registration and login routes
  • Hash passwords using bcrypt
  • Use JWT for protected routes

πŸ”Ή Task 5: Project Structuring

  • Apply MVC architecture
  • Use routers and controllers

πŸ§‘β€πŸ’» How to Contribute

Follow these steps to contribute to this repository:

1. Fork the Repository

Click the Fork button at the top-right corner of this repo. This creates your own copy of the repo under your GitHub account.

2. Clone the Forked Repo

git clone https://github.com/<your-username>/<repo-name>.git
cd <repo-name>

3. Create Your Folder

Inside the root of the repo, create a folder named after you in kebab-case:

mkdir <your-name>
cd <your-name>

4. Add Your Task

Create subfolders for each task and start coding!

5. Add, Commit and Push Changes

git add .
git commit -m "<commit-message>"
git push origin main

If you are working on a separate branch:

git checkout -b <branch-name>
git push origin <branch-name>

6. Create a Pull Request

Go to your forked repo on GitHub, and click on "Contribute > Open pull request".

  • Add a title and description
  • Mention which task you completed
  • Submit the pull request

πŸ“Œ Guidelines

  • Make sure your code runs without errors.
  • Do not commit .env files or node_modules.
  • Use meaningful commit messages.
  • Write a small README.md inside each task folder explaining your implementation.

πŸ™Œ Let’s Get Started!

If you have any questions, feel free to reach out during mentorship sessions or raise an issue in this repo.

Happy coding! πŸ’»πŸ”₯

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • JavaScript 100.0%