Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/luzefiru/gdsc-express-workshop
Notes for GDSC's Inbound Relay Web Server workshop.
https://github.com/luzefiru/gdsc-express-workshop
Last synced: 19 days ago
JSON representation
Notes for GDSC's Inbound Relay Web Server workshop.
- Host: GitHub
- URL: https://github.com/luzefiru/gdsc-express-workshop
- Owner: Luzefiru
- License: mit
- Created: 2023-11-24T11:21:55.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-25T14:46:24.000Z (about 1 year ago)
- Last Synced: 2024-11-09T20:12:54.631Z (3 months ago)
- Language: JavaScript
- Size: 1.25 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: .github/README.md
- License: LICENSE
Awesome Lists containing this project
README
# gdsc-express-workshop
![Banner](banner.png)
This workshop offers a one-day deep dive into the foundations of backend development, focusing on essential concepts such as server-side scripting, routing, and middleware.
## Topics
1. Background on Node.js
- description
- use cases
- npm
- libraries2. Terminologies
- Non-blocking I/O
- Event-driven
- Event Loop
- Callback Functions
- Callback Hell
- Promise API3. HyperText Transfer Protocol (HTTP)
- description
- HTTP Verbs
- POST
- GET
- PUT
- DELETE
- HTTP Status Codes
- common status codes4. Representational State Transfer (REST)
- description
- Resources
- CRUD
- Client-Server Communication5. Express.js
- description
- use cases## Project Showcase: Online Post Application Backend
You'll be finishing the frontend I created here by making a backend in any programming language.
### Usage
```bash
git clone https://github.com/Luzefiru/gdsc-express-workshop.git
cd gdsc-express-workshop
git checkout 0-start # use the project branch with the code to start with
cd client # the directory with all the frontend code
npm install # installs the packages for the frontend only
npm run mock # runs the mock server on port 3000
npm run dev # runs the frontend client application
```### Acceptance Criteria
1. The frontend should communicate with the backend.
- change the `/client/src/services/Post.service.js` to connect to the backend
- do NOT change the general form of the endpoints, they must be RESTful.2. The app should have CRUD capabilities.
- respond to the `axios` requests in your backend with JSON (if needed).
- use proper HTTP Status Codes.3. Do not edit the frontend that much.
- this project will teach you to work with the "Separation of Concerns" mindset.
- you just do the backend work, while the frontend is done by someone else (me).4. (BONUS) Deploy your application to be shared online.
- you can use GitHub pages to deploy your frontend.
- your backend can be deployed on any Platform-as-a-Service or Cloud Infrastructure.
- make sure you read up about [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) when your requests don't get processed.## References
- [http.cat: HTTP Status Codes Explained with Cat Memes](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
- [w3c: the HTTP Spec](https://www.w3.org/Protocols/)
- [Red Hat: What is a REST API?](https://www.redhat.com/en/topics/api/what-is-a-rest-api)