Logo Lanfrica
  • Accueil
  • Atlas
  • Analyses
  • Documentation
  • Sign in

© 2026 Lanfrica. Tous droits réservés. Tous les droits d'auteur des ressources affichées sur le site Web Lanfrica appartiennent aux détenteurs de droits d'auteur d'origine, sauf indication contraire explicite.

mohamedalizan2025-cpu/techopportunity-tanzania

Domaine:

digital infrastructure

Type de record:

software
Créateur:
moh
Hôte:
my most important repo so far # TechOpportunity Tanzania > _"A web platform for discovering opportunities all across Tanzania."_ Discover hackathons, scholarships, competitions, conferences, workshops, internships, fellowships, grants, and tech/AI events across Tanzania. **This is a responsive website** (desktop, laptop, tablet, mobile browsers) built with Next.js — not a native Android/iOS app. A future native client could reuse the same Supabase backend unchanged; see `docs/architecture.md` §10. ## Stack - Next.js 16 — App Router, TypeScript, React Server Components - Tailwind CSS v4 — styling - Supabase — PostgreSQL, auth, storage *(to be connected)* - Vercel — hosting *(to be connected)* ## Project structure ```text ├── app/ # Pages and layouts (App Router) │ ├── layout.tsx # Root layout │ ├── page.tsx # Home page │ └── globals.css # Global styles / theme ├── components/ # Reusable UI components ├── lib/ │ ├── types.ts # Domain types (single source of truth) │ └── data/ # DATA-ACCESS LAYER - all DB queries live here │ └── mock-opportunities.ts # clearly-marked temporary samples ├── docs/ │ └── architecture.md# Architecture decisions - start here ├── public/ # Static assets ├── .env.example # Required variable NAMES (values never committed) └── pipeline/ # (future) Python scraping/AI batch jobs ``` Architectural rule: **UI → `lib/data/` → database.** Components never query the database directly. See `docs/architecture.md` §5 for why. ## Getting started Prerequisites: Node.js 20+ and npm. ```bash npm install cp .env.example .env.local # fill in values yourself; never commit this file npm run dev ``` Open localhost. With `.env.local` configured (staging credentials you enter yourself), the home page lists **published opportunities from the staging database**. Without configuration it renders empty with a console warning — builds still pass. `lib/data/mock-opportunities.ts` re …

Visit

github.com