Coursera - IBM Fullstack
Javascript Fullstack Capstone Project is a production-grade JavaScript application complemented by CSS, HTML that showcases modern software engineering practices including clean architecture, comprehensive testing, containerized deployment, and CI/CD readiness.
The codebase comprises 2,327 lines of source code organized across 32 modules, following industry best practices for maintainability, scalability, and code quality.
- π Clean Architecture: Modular design with clear separation of concerns
- π§ͺ Test Coverage: Unit and integration tests for reliability
- π Documentation: Comprehensive inline documentation and examples
- π§ Configuration: Environment-based configuration management
graph TB
subgraph Core["ποΈ Core"]
A[Main Module]
B[Business Logic]
C[Data Processing]
end
subgraph Support["π§ Support"]
D[Configuration]
E[Utilities]
F[Tests]
end
A --> B --> C
D --> A
E --> B
F -.-> B
style Core fill:#e1f5fe
style Support fill:#f3e5f5
- Node.js 20+
- npm or yarn
# Clone the repository
git clone https://github.com/galafis/Javascript-Fullstack-Capstone-Project.git
cd Javascript-Fullstack-Capstone-Project
# Install dependencies
npm install# Development mode
npm run dev
# Production build
npm run build
npm start# Start all services
docker-compose up -d
# View logs
docker-compose logs -f
# Stop all services
docker-compose down
# Rebuild after changes
docker-compose up -d --buildJavascript-Fullstack-Capstone-Project/
βββ giftlink-backend/
β βββ models/ # Data models
β β βββ db.js
β βββ routes/
β β βββ authRoutes.js
β β βββ giftRoutes.js
β β βββ searchRoutes.js
β βββ sentiment/
β β βββ index.js
β βββ util/
β β βββ import-mongo/
β βββ Dockerfile
β βββ app.js
β βββ deployment.yml
β βββ logger.js
β βββ package-lock.json
β βββ package.json
βββ giftlink-frontend/
β βββ public/
β β βββ images/
β β βββ static/
β β βββ manifest.json
β β βββ robots.txt
β βββ src/ # Source code
β β βββ components/
β β βββ context/
β β βββ App.js
β β βββ config.js
β β βββ index.js
β βββ Dockerfile
β βββ package-lock.json
β βββ package.json
βββ giftwebsite/
β βββ Dockerfile
β βββ index.js
β βββ package-lock.json
β βββ package.json
βββ github_issues/
β βββ issue_1_profile.md
β βββ issue_2_add_gift.md
β βββ issue_3_edit_gift.md
β βββ issue_4_delete_gift.md
β βββ issue_5_improve_search.md
β βββ issue_6_sentiment_analysis.md
β βββ issue_7_refactor_auth.md
β βββ issue_8_frontend_styling.md
βββ sentiment/
β βββ index.js
β βββ logger.js
β βββ package-lock.json
β βββ package.json
βββ tests/ # Test suite
β βββ main.test.js
βββ LICENSE
βββ README.md
βββ deploymongo.yml
βββ docker-compose.yml
βββ todo.md
| Technology | Description | Role |
|---|---|---|
| JavaScript | Core Language | Primary |
| CSS | 8 files | Supporting |
| HTML | 2 files | Supporting |
The application is containerized and ready for deployment on:
| Platform | Service | Notes |
|---|---|---|
| AWS | ECS, EKS, EC2 | Full container support |
| Google Cloud | Cloud Run, GKE | Serverless option available |
| Azure | Container Instances, AKS | Enterprise integration |
| DigitalOcean | App Platform, Droplets | Cost-effective option |
# Production build
docker build -t Javascript-Fullstack-Capstone-Project:latest .
# Tag for registry
docker tag Javascript-Fullstack-Capstone-Project:latest registry.example.com/Javascript-Fullstack-Capstone-Project:latest
# Push to registry
docker push registry.example.com/Javascript-Fullstack-Capstone-Project:latestContributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Gabriel Demetrios Lafis
- GitHub: @galafis
- LinkedIn: Gabriel Demetrios Lafis
Javascript Fullstack Capstone Project Γ© uma aplicaΓ§Γ£o JavaScript de nΓvel profissional, complementada por CSS, HTML que demonstra prΓ‘ticas modernas de engenharia de software, incluindo arquitetura limpa, testes abrangentes, implantaΓ§Γ£o containerizada e prontidΓ£o para CI/CD.
A base de cΓ³digo compreende 2,327 linhas de cΓ³digo-fonte organizadas em 32 mΓ³dulos, seguindo as melhores prΓ‘ticas do setor para manutenibilidade, escalabilidade e qualidade de cΓ³digo.
- π Clean Architecture: Modular design with clear separation of concerns
- π§ͺ Test Coverage: Unit and integration tests for reliability
- π Documentation: Comprehensive inline documentation and examples
- π§ Configuration: Environment-based configuration management
graph TB
subgraph Core["ποΈ Core"]
A[Main Module]
B[Business Logic]
C[Data Processing]
end
subgraph Support["π§ Support"]
D[Configuration]
E[Utilities]
F[Tests]
end
A --> B --> C
D --> A
E --> B
F -.-> B
style Core fill:#e1f5fe
style Support fill:#f3e5f5
- Node.js 20+
- npm or yarn
# Clone the repository
git clone https://github.com/galafis/Javascript-Fullstack-Capstone-Project.git
cd Javascript-Fullstack-Capstone-Project
# Install dependencies
npm install# Development mode
npm run dev
# Production build
npm run build
npm start# Start all services
docker-compose up -d
# View logs
docker-compose logs -f
# Stop all services
docker-compose down
# Rebuild after changes
docker-compose up -d --buildJavascript-Fullstack-Capstone-Project/
βββ giftlink-backend/
β βββ models/ # Data models
β β βββ db.js
β βββ routes/
β β βββ authRoutes.js
β β βββ giftRoutes.js
β β βββ searchRoutes.js
β βββ sentiment/
β β βββ index.js
β βββ util/
β β βββ import-mongo/
β βββ Dockerfile
β βββ app.js
β βββ deployment.yml
β βββ logger.js
β βββ package-lock.json
β βββ package.json
βββ giftlink-frontend/
β βββ public/
β β βββ images/
β β βββ static/
β β βββ manifest.json
β β βββ robots.txt
β βββ src/ # Source code
β β βββ components/
β β βββ context/
β β βββ App.js
β β βββ config.js
β β βββ index.js
β βββ Dockerfile
β βββ package-lock.json
β βββ package.json
βββ giftwebsite/
β βββ Dockerfile
β βββ index.js
β βββ package-lock.json
β βββ package.json
βββ github_issues/
β βββ issue_1_profile.md
β βββ issue_2_add_gift.md
β βββ issue_3_edit_gift.md
β βββ issue_4_delete_gift.md
β βββ issue_5_improve_search.md
β βββ issue_6_sentiment_analysis.md
β βββ issue_7_refactor_auth.md
β βββ issue_8_frontend_styling.md
βββ sentiment/
β βββ index.js
β βββ logger.js
β βββ package-lock.json
β βββ package.json
βββ tests/ # Test suite
β βββ main.test.js
βββ LICENSE
βββ README.md
βββ deploymongo.yml
βββ docker-compose.yml
βββ todo.md
| Tecnologia | DescriΓ§Γ£o | Papel |
|---|---|---|
| JavaScript | Core Language | Primary |
| CSS | 8 files | Supporting |
| HTML | 2 files | Supporting |
The application is containerized and ready for deployment on:
| Platform | Service | Notes |
|---|---|---|
| AWS | ECS, EKS, EC2 | Full container support |
| Google Cloud | Cloud Run, GKE | Serverless option available |
| Azure | Container Instances, AKS | Enterprise integration |
| DigitalOcean | App Platform, Droplets | Cost-effective option |
# Production build
docker build -t Javascript-Fullstack-Capstone-Project:latest .
# Tag for registry
docker tag Javascript-Fullstack-Capstone-Project:latest registry.example.com/Javascript-Fullstack-Capstone-Project:latest
# Push to registry
docker push registry.example.com/Javascript-Fullstack-Capstone-Project:latestContribuiΓ§Γ΅es sΓ£o bem-vindas! Sinta-se Γ vontade para enviar um Pull Request.
Este projeto estΓ‘ licenciado sob a LicenΓ§a MIT - veja o arquivo LICENSE para detalhes.
Gabriel Demetrios Lafis
- GitHub: @galafis
- LinkedIn: Gabriel Demetrios Lafis