https://github.com/kareimgazer/chrono-nexus
connect time across global horizons by simplifying the complexities of international time zone management.
https://github.com/kareimgazer/chrono-nexus
typescript unocss vite vue
Last synced: 7 months ago
JSON representation
connect time across global horizons by simplifying the complexities of international time zone management.
- Host: GitHub
- URL: https://github.com/kareimgazer/chrono-nexus
- Owner: KareimGazer
- Created: 2025-01-13T16:16:24.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-01-13T21:25:59.000Z (9 months ago)
- Last Synced: 2025-01-24T04:55:27.030Z (9 months ago)
- Topics: typescript, unocss, vite, vue
- Language: TypeScript
- Homepage:
- Size: 39.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Chrono Nexus
connect time across global horizons by simplifying the complexities of international time zone management.
A production-grade single page app for time zone management.
## Table of content π
- [Chrono-Nexus π€οΈ](#Chrono-Nexus-οΈ)
- [Table of content π](#table-of-content-)
- [Features π](#features-)
- [Future Roadmap πΊοΈ](#future-roadmap-οΈ)
- [Getting Started π©](#getting-started-)
- [Locally π₯οΈ](#locally-οΈ)
- [Development π¨βπ»](#development-)
- [Production π](#production-)
- [Docker π](#docker-)
- [Development π¨βπ»](#development--1)
- [Production π](#production--1)
- [Testing π§ͺ](#testing-)
- [Unit Testing π](#unit-testing-)
- [End-To-End Testing π](#end-to-end-testing-)
- [Project Structure π](#project-structure-)## Features π
inspired by [world-time-buddy](https://www.worldtimebuddy.com/)
- search
- multi-location## Future Roadmap πΊοΈ
- E2E Testing (in progress)
- Vitest
- CI/CD## Getting Started π©
We provide two ways one using docker with minimal setup or locally if you don't get comfortable with containers. both provide production and development environments.
### Locally π₯οΈ
Start by installing [nodejs](https://nodejs.org/en/learn/getting-started/how-to-install-nodejs)
#### Development π¨βπ»
1. run `npm install` at the root of the project
2. run `npm run dev`#### Production π
for a production build use
```bash
npm run build
npm run preview
```### Docker π
start by downloading [Docker](https://www.docker.com/get-started/)
#### Development π¨βπ»
Uses a nodejs container image and runs the app on the vite development server
```bash
docker compose -f .\docker-compose.dev.yml up --build --watch
```#### Production π
Uses a multi-stage image building process starting from nodejs image to generate the build, and then uses [goStatic](https://github.com/PierreZ/goStatic) image as a static web server built with Go. It's commonly used with the Jamstack although it's an SPA using Vue.
```bash
docker compose up
```## Testing π§ͺ
### Unit Testing π
vitest
### End-To-End Testing π
## Project Structure π
```
Chrono-Nexus
βββ src
βββ dist static site built files (git ignored)
βββ .gitignore files to ignore in the VCS
βββ .dockerignore files to ignroe during docker building process
βββ dev.Dockerfile Image for running the development server
βββ docker-compose.dev.yml development compose file
βββ Dockerfile The production container image of the server
βββ Dockerfile production compose file
βββ index.html
```