Skip to content

Yui1002/timebox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

334 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Timebox

Overview

This project is a timekeeping mobile app designed for employees. It enables users to clock in and out seamlessly, ensuring accurate tracking of work hours. Both employers and employees can access time records, while employers also have the ability to send hiring requests directly through the app.

Table of Contents

Built With

  • React Native
  • TypeScript
  • Node.js
  • PostgreSQL
  • Python

Project Setup

Clone the repository:

git clone https://github.com/Yui1002/timebox
cd timebox

Backend Setup

  1. Install dependencies:

    cd clinclon_server
    npm install
  2. Set up configuration:

    Create a .env file in the clinclon_server directory and add the necessary environment variables:

    DB_NAME=your_db_name
    DB_USER=your_db_user
    DB_PASSWORD=your_db_password
    DB_HOST=your_db_host
    DB_PORT=your_db_port

Frontend Setup

  1. Install dependencies:

    cd mobile
    npm install
  2. Set up configuration:

Create the config.js file in the mobile directory with the appropriate backend URL and password rules:

export const LOCAL_HOST_URL = `YOUR_LOCAL_HOST_URL`
export const PASSWORD_RULES = {
  minLength: 8,
  minLowercase: 1,
  minUppercase: 1,
  minNumbers: 1,
  minSymbols: 0,
};
  1. Set up React Native environment:

    Follow the React Native CLI Quickstart guide to set up the development environment for React Native.

Database Setup

  1. Create the database:

    Connect to your PostgreSQL server and create the database:

    CREATE DATABASE your_db_name;
  2. Import the schema using CLI:

    Use the following command to import the schema.sql file into your PostgreSQL database:

    psql -h your_db_host -U your_db_user -d your_db_name -f /path/to/clinclon_server/schema.sql

    Replace /path/to/clinclon_server/schema.sql with the actual path to the schema.sql file.

    You will be prompted to enter the password for the database user.

Running the Project

Running the Backend

  1. Generate OpenAPI specification and routes:

    npm run build
    npm run routes-gen
    npm run swagger-gen
  2. Start the backend server:

    npm start

    The server will start on YOUR_LOCAL_HOST_URL.

Running the Frontend (React Native)

  1. Navigate to the mobile directory:

    cd mobile
  2. Start the React Native development server:

    npm start
  3. Run the app on an Android emulator or device:

    npm run android
  4. Run the app on an iOS simulator or device:

    npm run ios

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors