{"id":20064679,"url":"https://github.com/overloadedsam/timesheets","last_synced_at":"2026-04-13T14:32:46.570Z","repository":{"id":181552296,"uuid":"600104737","full_name":"OverloadedSam/timesheets","owner":"OverloadedSam","description":"A web app based on MERN stack. This app lets users (employees) manage their timesheets. App has simple hierarchy of Admin, Manager and Employee.","archived":false,"fork":false,"pushed_at":"2023-02-10T16:03:01.000Z","size":123,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-12T22:46:32.409Z","etag":null,"topics":["express","material-ui","mongodb","nodejs","reactjs","user-roles"],"latest_commit_sha":null,"homepage":"https://timesheetsapp.onrender.com/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OverloadedSam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-02-10T15:41:19.000Z","updated_at":"2025-01-10T18:27:29.000Z","dependencies_parsed_at":"2023-07-16T07:34:26.083Z","dependency_job_id":null,"html_url":"https://github.com/OverloadedSam/timesheets","commit_stats":null,"previous_names":["overloadedsam/timesheets"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OverloadedSam%2Ftimesheets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OverloadedSam%2Ftimesheets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OverloadedSam%2Ftimesheets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OverloadedSam%2Ftimesheets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OverloadedSam","download_url":"https://codeload.github.com/OverloadedSam/timesheets/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241494142,"owners_count":19971870,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["express","material-ui","mongodb","nodejs","reactjs","user-roles"],"created_at":"2024-11-13T13:47:23.726Z","updated_at":"2026-04-13T14:32:41.533Z","avatar_url":"https://github.com/OverloadedSam.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Timesheet App\n\nTimesheets app offers a comprehensive solution for managing employee time and tasks. With a clear hierarchy in place, the app allows for different levels of user access, from administrators to employees.\n\nAdmins have the ability to create users, giving them the necessary permissions to manage timesheets for all employees. Managers can keep track of the timesheets for the employees under their supervision, giving them the ability to rate each timesheet from 0 to 5 stars. Once a rating has been given, the employee can no longer make modifications to the timesheet.\n\nEmployees, on the other hand, have limited access to the app, only being able to see and add tasks to their own timesheets. They are not able to make any changes to the timesheet once it has been rated by a manager.\n\nIn summary, Timesheet app offers a simple yet effective solution for managing employee time and tasks, providing users with the necessary permissions and access to carry out their responsibilities effectively.\n\n## Getting Started\n\nThese instructions will get you a copy of the project up and running on your local machine for development and testing purposes.\n\n## Prerequisites\n\n- Node.js \u003e= 18.12.1\n- NPM \u003e= 8.19.2\n- MongoDB\n\n## Installation\n\n1. Clone the repository\n\n        $ git clone https://github.com/OverloadedSam/timesheets.git\n\n2. Go to `frontend` and `backend` directory one by one and install dependencies with command shown at 3rd step.\n\n        $ cd frontend/\n        // And\n        $ cd backend/\n\n3. Install the dependencies\n\n\n    $ npm install\n\n## Configure App\n\nYou have to set the environment variables of your configuration before starting the app. find `.env.example` file to know more.\n\n### 1. Environment variables for `frontend`\n\nCreate a `.env` file at `timesheets/frontend/` directory and set the following environment variables starting with prefix `VITE_`\n\n    VITE_BASE_URL={api_url_of_the_backend} // e.g: http://localhost:8000/api\n\n### 2. Environment variables for `backend`\n\nCreate a `.env` file at `timesheets/backend/` directory and set the following environment variables.\n\n    PORT=8000 // You can set any port number that is available but make sure to correctly include it in frontend environment variables.\n    BASE_PREFIX=/api\n    DB_CONNECTION_STRING={your_mongodb_connection_uri}\n    DB_NAME={mongodb_database_name}\n    SALT=10\n    SECRET={your_secret}\n\n### 3. Seed the database with mock/sample data.\n\nFor populating the database with sample data, please use the following command to seed the database\n\n    $ cd timesheets/backend // go to backend directory.\n    $ npm run seed\n\nAfter initializing the database, you can view a list of users and their login credentials for accessing the app. View `backend/seed.js` file to know more.\n\n## Running The Project\n\n### Start backend (Node API)\n\n    $ cd timesheets/backend // go to backend directory\n    $ npm run dev // run backend with hot reloading.\n    // or you can run the backend with standard command\n    $ node server.js\n\n### Start Frontend (React app [VITE])\n\n    $ cd timesheets/frontend // go to frontend directory\n    $ npm run dev\n\n## Deployment\n\nThe app can be deployed to a hosting platform such as Render or Heroku.\n\n## Built With\n\n- [MongoDB](https://www.mongodb.com/)\n- [Express](https://expressjs.com/)\n- [React](https://reactjs.org/)\n- [Node.js](https://nodejs.org/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foverloadedsam%2Ftimesheets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foverloadedsam%2Ftimesheets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foverloadedsam%2Ftimesheets/lists"}