Skip to content

tioback/coursera-gen-ai

Repository files navigation

Coursera Generative AI Labs Portfolio

A multi-stack portfolio project showcasing hands-on labs from the Coursera Generative AI specialization. This repository contains implementations across different technology stacks: JavaScript (Node.js + Express), Python, and Java (Spring Boot).

Repository Structure

coursera-gen-ai/
├── chatgpt-chatbot/         # Node.js chatbot using OpenAI ChatGPT API
├── gemini-chatbot-node/     # Node.js chatbot using Google Gemini API
├── gemini-chatbot-python/   # Python Flask chatbot using Google Gemini API
├── learning-platform-backend/ # Node.js backend API for learning platform (modular monolith)
...
└── (future) other-projects/ # Any stack (Java Spring Boot?) project

Projects

1. Gemini Chatbot (Node.js)

  • Stack: Node.js + Express
  • Description: Interactive web-based chatbot powered by Google Gemini API
  • Folder: gemini-chatbot-node/
  • Setup: See gemini-chatbot-node/README.md

2. ChatGPT Chatbot

  • Stack: Node.js + Express
  • Description: Interactive web-based chatbot powered by OpenAI ChatGPT API
  • Folder: chatgpt-chatbot/
  • Setup: See chatgpt-chatbot/README.md

3. Gemini Chatbot (Python)

  • Stack: Python + Flask
  • Description: Interactive web-based chatbot powered by Google Gemini API, implemented in Python for beginners. Features a Flask backend and static frontend.
  • Folder: gemini-chatbot-python/
  • Setup: See gemini-chatbot-python/README.md

4. Learning Platform Backend

  • Stack: Node.js + Express + MongoDB
  • Description: Backend API for personalized online learning platform. Built as modular monolith with service modules (user-management, course-management, enrollment, learning) that can be extracted to microservices.
  • Folder: learning-platform-backend/
  • Setup: See learning-platform-backend/README.md

Prerequisites

  • Node.js (v16+) and pnpm (v8+) for JavaScript projects
  • Python (v3.8+) for Python projects
  • Java (v11+) for Java projects
  • VSCode with appropriate extensions (see profiles below)

Quick Start

Each project is self-contained. To run a project:

  1. Navigate to the project folder:

cd gemini-chatbot-node


2. Follow the setup instructions in that project's `README.md`

## VSCode Setup

This repository uses VSCode Profiles and Workspace configuration for multi-stack development. See `.coursera-gen-ai.code-workspace` for workspace configuration.

### Available Profiles
- **JavaScript Profile**: Extensions and settings for Node.js projects
- **Python Profile**: Extensions and settings for Python projects
- **Java Profile**: Extensions and settings for Spring Boot projects

## Environment Variables

Each project requires sensitive data (API keys, etc.) stored in `.env` files. These are **git-ignored** for security.

- Copy `.env.example` to `.env` in the project folder
- Add your API keys and credentials to `.env`
- Never commit `.env` files

Example:
```bash
cd gemini-chatbot-node
cp .env.example .env
# Edit .env with your Gemini API key

Security & Sensitive Data

  • All .env files are ignored by git
  • API keys, passwords, and tokens are never committed
  • Use .env.example as a template to document required variables
  • For remote credential storage, consider:
    • GitHub Secrets (for CI/CD)
    • 1Password, LastPass (personal credential managers)
    • Azure Key Vault, AWS Secrets Manager (production environments)

License

These projects are part of a learning portfolio and are provided as-is.

Author

Renato P B


Note: This repository is actively being updated with additional labs and projects.

About

Hands-on labs for the Coursera Generative AI for Java and Spring Developers Specialization.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors