Skip to content

RAVEN-GP/eye-on-romania

 
 

Repository files navigation

Eye On Romania — a small brochure

Romania landscape Photo by Val Vesa on Unsplash

Welcome to Eye On Roman ia — a compact, practical Next.js starter that looks and feels like a travel brochure while shipping real features for visitors, students, professionals and partners.

This README is written as a mini brochure + quick start guide: a short site preview, key features, how to run it locally, and where to look in the codebase.

Quick visual preview (mini brochure)

city Photo by Felipe Simo on Unsplash

Visa & Entry

Step-by-step checklists, official sources, and a printable PDF you can download per country.

mountains Photo by Butuza Gabriel on Unsplash

Study, Work, Travel

Paths for students, professionals, and travellers — localized content with i18n and a clean UI.

culture

Sourced & Printable

All guidance is sourced to official sites and exportable as client-side PDFs using jspdf.

Key features

  • Clean Next.js 14+ app directory structure with TypeScript.
  • i18n-ready content under src/locales and route-aware pages in src/app/[locale].
  • Visa flow: country selector, tailored requirements, official sources listing, printable checklist (client PDF).
  • Reusable UI components: Hero, Ribbon, Navigation Cards, Value Pillars, and Visa UI modules.
  • Small, focused dataset in src/app/[locale]/visa/data for country info and official links.
  • Lightweight client state for visa selection (useVisaData hook).

Where to look (mini-code map)

  • src/app/[locale]/page.tsx — localized homepage layout and Hero.
  • src/app/[locale]/visa — all visa pages and components (Hero, VisaTypes, Checklist, OfficialSources).
  • src/locales/en.json — English translations used by next-intl.
  • src/app/[locale]/visa/hooks/useVisaData.ts — hook that wires country selection to requirements.
  • src/app/[locale]/visa/data — data modules: officialSource.ts, countryRequirements.ts, countries.ts.

How to run (developer quick start)

Clone and install dependencies, then start the dev server:

git clone https://github.com/CodeNKoffee/eye-on-romania.git
cd eye-on-romania
npm install
npm run dev

Open http://localhost:3000 and pick a locale (the app uses route-based locales at /en and /ro).

Build for production:

npm run build
npm run start

Notes:

  • The project was scaffolded with create-next-app and expects a modern Node.js (18+) runtime.
  • Optional dev dependencies used by the project: framer-motion, jspdf, zustand (verify package.json for exact versions).

Quick tips for editing

  • Add or edit translations in src/locales/*.json and restart dev server if you change message keys.
  • Add new visa countries in src/app/[locale]/visa/data/countries.ts and map requirements in countryRequirements.ts.
  • UI components live under src/app/[locale]/components and src/app/[locale]/visa/components.

Accessibility & content sourcing

  • The Visa pages include a small list of official sources in officialSource.ts. Keep those links authoritative.
  • The markup aims for semantic headings, ARIA labels on selectors, and sensible keyboard focus for the forms.

Contributing

  1. Fork the repo, create a feature branch, and open a PR describing the change.
  2. Keep UI components isolated and add small tests for any data transformation.

License

This starter is provided as-is. Add your preferred license file if you intend to publish or redistribute.


If you want, I can also:

  • Add a ready-to-use screenshot or live demo deployment section.
  • Generate small SVG thumbnails for the README instead of external photos.
  • Produce a shareable deploy script tuned for Vercel or Netlify.

Enjoy exploring the codebase — open src/app/[locale]/visa to see the visa flow live.

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 98.1%
  • JavaScript 1.5%
  • Other 0.4%