Skip to content

deznode/nosilha

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

119 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Nos Ilha - Brava Island Cultural Heritage Hub

License: MIT Next.js Spring Boot PRs Welcome

View Live Site

Nos Ilha - Brava Island Cultural Heritage Hub

nosilha.com is a community-driven cultural heritage hub for Brava Island, Cape Verde. This open-source, volunteer-supported project preserves and celebrates the island's rich cultural memory while connecting the global Cape Verdean diaspora, local residents, and international visitors to the heart of Brava.

Quick Links: Features | Getting Started | Documentation | Contributing


Project Status

🚧 Pre-Release (v0.0.2) — Actively developed. Core features functional, some areas under construction.

View Roadmap | View Changelog


Target Audience

Audience What They'll Find
Cape Verdean Diaspora Cultural heritage, community connection, homeland updates
Local Residents Shared heritage celebration, local services directory
Cultural Researchers History, traditions, cultural documentation
International Visitors Trip planning, authentic experiences, heritage sites

Core Features

Feature Description
🏛️ Cultural Archive History, traditions, and cultural practices with stories of significant figures
🏘️ Town Pages Detailed pages for each town with historical context
📸 Media Galleries Photo and video galleries of landscapes, people, and culture
🗺️ Interactive Maps Mapbox-powered maps with landmarks and heritage sites
📒 Community Directory Local businesses, artisans, and services
🌐 Multilingual English, Portuguese, and French support

Built With

Frontend Backend Infrastructure
Next.js 16 + React 19.2 (App Router) Spring Boot 4.0 + Kotlin 2.3.0 Google Cloud Run (serverless)
TypeScript + Tailwind CSS PostgreSQL 16 + Flyway migrations Terraform IaC
Supabase Auth + Mapbox GL Spring Modulith 2.0.1 GitHub Actions CI/CD

Getting Started

The project uses Taskfile to orchestrate development workflows. Install it with brew install go-task.

Quick Start

task check    # Verify prerequisites (Docker, Node, pnpm, Java)
task setup    # Copy env templates (API, web, infra), install web dependencies
task dev      # Start API (auto-starts postgres) + web in parallel

The API uses Spring Boot Docker Compose integration to auto-start and configure PostgreSQL — no manual docker-compose up needed.

Frontend-only (no backend)? Use task setup:mock && task dev:web to run with mock data.

Full guide: See docs/00-getting-started/getting-started.md for prerequisites, environment variables, daily workflows, and troubleshooting.

Application URLs

Service URL
Frontend http://localhost:3000
Backend API http://localhost:8080/api/v1/
Swagger UI http://localhost:8080/swagger-ui.html
Health Check http://localhost:8080/actuator/health
PostgreSQL localhost:5432 (db: nosilha_db, user: nosilha, password: nosilha)

Running Tests

task test     # Run all tests (API + web)
task lint     # Run all linters (ktlint + ESLint)

Production Deployment

  1. Review Setup: See docs/40-operations/ci-cd-pipeline.md
  2. Configure Secrets: Set up GitHub secrets and Google Cloud credentials
  3. Deploy Infrastructure: Use Terraform to provision GCP resources
  4. Automated Deployment: Push to main branch triggers automatic deployment

Documentation

Document Description
Getting Started Developer setup, prerequisites, daily workflows
Architecture System design, components, data flow
Design System UI components, styling, patterns
API Reference Backend endpoints and schemas
API Coding Standards Backend coding conventions
Testing Guide E2E and unit testing approach
State Management Zustand, TanStack Query patterns
Spring Modulith Backend module architecture
CI/CD Pipeline Deployment and automation
Troubleshooting Common issues and solutions

Version History

See the Changelog for releases, updates, and milestones.


Contributing

This is an open project dedicated to the celebration of Brava. We welcome contributions from the community. Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.


Getting Help


License

This project is licensed under the MIT License - see the LICENSE file for details.

Why MIT? This permissive license allows maximum flexibility for developers and organizations to use, modify, and build upon Nos Ilha while encouraging contributions back to the community.


For Brava. By Brava. Always.

About

Community-driven cultural heritage hub for Brava Island, Cape Verde — preserving the island's history, traditions, and stories for the diaspora and future generations

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors