Coder Social home page Coder Social logo

winstonlam / timeitin Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 13.3 MB

This Hour Registration Web App is a comprehensive solution for businesses and freelancers to manage employee hours efficiently. Built using TypeScript and JavaScript, it features a user-friendly interface for creating employee profiles and registering their work hours.

Home Page: https://winstonlam.github.io/TimeItIn/

HTML 1.37% TypeScript 56.63% JavaScript 18.96% CSS 23.03%
employee-management hours nodejs react typescript firebase google-cloud

timeitin's Introduction

TimeItIn ๐Ÿ•’

About ๐Ÿ“–

This Hour Registration Web App is a comprehensive solution for businesses and freelancers to manage employee hours efficiently ๐Ÿš€. Built with ๐Ÿ’™ using TypeScript and JavaScript, it features a user-friendly interface for creating employee profiles and registering their work hours. This application consists of a front-end that communicates ๐Ÿ—ฃ๏ธ with a back-end server, both of which require setup.

Getting Started ๐ŸŒŸ

Prerequisites ๐Ÿ“‹

  • Node.js and npm (Node Package Manager) ๐Ÿ“ฆ
  • Firebase account (for authentication and database services) ๐Ÿ”ฅ

Setting Up the Front-End ๐Ÿ–ฅ๏ธ

  1. Clone the repository to your local machine. git clone

  2. Navigate to the front-end directory and run npm install to install the required packages.

  3. Configure Environment Variables: ๐Ÿ› ๏ธ

    • Create a .env file in the root of the front-end directory.
    • Add the following environment variables:
      REACT_APP_BACKEND_URL=<Your Backend URL>
      REACT_APP_FIREBASE_PRIVATE_KEY_ID=<Your Firebase Private Key ID>
      REACT_APP_FIREBASE_PROJECT_ID=<Your Firebase Project ID>
      
    • You need to replace the placeholders with your actual Firebase project details.
  4. Firebase Setup: ๐Ÿ”’

    • Go to the Firebase Console and create a new project if you haven't already.
    • Navigate to your project settings to find your apiKey and projectId.
    • These details will be used in your .env file.

Example .env file for Front-End ๐Ÿ“„

REACT_APP_BACKEND_URL=http://localhost:5000
REACT_APP_FIREBASE_PRIVATE_KEY_ID=xxx
REACT_APP_FIREBASE_PROJECT_ID=myapp-project-123

Setting Up the Back-End ๐Ÿ’ป

  1. Navigate to the back-end directory and run npm install to install the dependencies.
  2. Configure Environment Variables: ๐Ÿ› ๏ธ
    • Similar to the front-end, create a .env file in the root of your back-end directory.
    • Set up your Firebase database URL:
      FIREBASE_DATABASE_URL="https://<Your Firebase Database URL>"
      
  3. Firebase Admin Setup: ๐Ÿ”
    • In the Firebase Console, navigate to your project's settings, go to the "Service accounts" tab, and generate a new private key. Download this JSON file.
    • Rename the downloaded file to firebase-admin.json and place it in your back-end directory.

Example .env file for Back-End ๐Ÿ“„

FIREBASE_DATABASE_URL="https://myapp-project-123-default-rtdb.europe-west1.firebasedatabase.app/"

Running the Application ๐Ÿƒ

  • Front-End: Navigate to the front-end directory and run npm start. This will start the React application.
  • Back-End: In a separate terminal, navigate to the back-end directory and run node server.js to start the server.

Contributing ๐Ÿค

Contributions are welcome! Please feel free to submit pull requests or open issues to discuss proposed changes or additions. Let's make TimeItIn better, together! โœจ

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.