Skip to content

Meta Clock is a web application that displays time with customizable themes and settings.

License

Notifications You must be signed in to change notification settings

Zabrafax/spring-react-meta-clock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

198 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Meta Clock project using React, Spring and PostgreSQL

View on GitHub Pages: https://zabrafax.github.io/spring-react-meta-clock/
Note: The server may take a few minutes to start.

Preview

Meta Clock allows you to display time in an interesting and elegant way.

Inspired by ClockClock 24 , created with React, Spring, Java and PostgreSQL. Web-application have different options to try. Once you find your perfect settings, you can display it on fullscreen. Have features like:

  • Ability to choose custom theme colors
  • Time zone selection
  • Different clock grid variations
  • Ability to create an account
  • All settings are saved on the server when you are logged in
  • Account sensitive data is saved in hashed form
  • Auto authorization using tokens

Deployment & Hosting

  • Backend deployed on Render
  • Frontend deployed automatically via GitHub Actions using Docker
  • Database hosted on Supabase

Note:

Due to free hosting, the server may take a couple of minutes to start.

How to launch

View on GitHub Pages:

https://zabrafax.github.io/spring-react-meta-clock/
Note: The server may take a few minutes to start.

Manual launch:

  1. Clone the repository:

    git clone git@github.com:Zabrafax/spring-react-meta-clock.git
    cd spring-react-meta-clock
  2. Backend setup:

    cd backend
    • Rename .env.example to .env:
     mv .env.example .env
    • Edit .env and provide your database connection details:
    SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/meta_clock_db
    SPRING_DATASOURCE_USERNAME=postgres
    SPRING_DATASOURCE_PASSWORD=postgres
    • Create the database meta_clock_db in PostgreSQL:
    CREATE DATABASE meta_clock_db;
    • Run the backend (Spring Boot):
    ./mvnw spring-boot:run
  3. Frontend setup:

     cd frontend
    • Rename .env.example to .env:
     mv .env.example .env
    • Install dependencies:
     npm install
    • Start the React app:
     npm start

Technologies Used

  • React JavaScript HTML5 CSS3 npm ESLint
  • Spring Java Apache Maven Postgres Docker
  • WebSocket REST API JWT

Future Improvements

Adding different animations.

Created by @Zabrafax