Git Product home page Git Product logo

cnca's Introduction

Husky

Husky will run lint automatically before we commit our changes and also before we push to our Master Repository it checks the test files .

To bypass this linting and testing process

Add <--no-verify> to your command line

Try to run using this command line (npm run dev)

Volunteer Attendance Tracking

The purpose of the project is to create a website that allows for volunteers' attendance to be tracked.

Current solution

The times are recorded in an Excel spreadsheet using macros and Visual Basic. The spreadsheet is shared among the work groups where it is used to verify the attendance, holidays, sick days and permits.

Attendance Tracking Instructions

Volunteer Registration Form

Field in English Field in Italian Description
Enter the date of the holiday Inserisci la data del festivo locale Date of the saint, which is considered a holiday, format dd / mm
First Name Nome First name of the volunteer
Last Name Cognome Last name of the volunteer
Organization Organizzazione Name of the organization
Location Sede di Svolgimento Address of the organization
Activity Definition 1 Definizione attività 1 Description of the 3 major activities that the volunteer
Activity Definition 2 Definizione attività 3 will carry out at the host organization
Activity Definition 3 Definizione attività 3 (eg: support for educators; office assistance; etc ...)

This information is then printed or saved as a PDF. The application would need to provide similar functionality. This is the text in Italian that should be provided somewhere:

si consiglia di stampare la presente pagina come frontespizio del registro presenze del volontario. la stampa è possibile seguendo le normali procedure di stampa documenti (oppure salvare in pdf con apposito tasto e poi stampare il doc)

This registration is only done the first time the program is used.

Timetable and Activities Form

Terms

Field in English Field in Italian
choose the date scegli la data
total hours indicated totale ore indicate
day set giorno set
Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday Lunedì, Martedì, Mercoledì, Giovedì,Venerdì, Sabato, Domenica
se giorno di riposo if day off
start time (entrance) ingresso
end time (exit) uscita
activity hours ore attività
illness malattia
vacation ferie
permissions permessi str
training formazione
select activity type from drop down menu selezionare tipo attività da menù a tendina
week settimana

Activity Types

Field in English Field in Italian
activity1 attività1
activity2 attività2
activity3 attività3
vacation ferie
illness malattia
Recovery of work hours on holidays Recupero ore lavoro in festivo
General Education Formazione Generale
Specific training Formazione Specifica
FAD training Formazione FAD
PERMISSION str: blood donation PERMESSO str: donazione sangue
PERMISSION str: voting rights PERMESSO str: diritto di voto
PERMISSION str: witness g PERMESSO str: testimone g
PERMISSION str: polling station PERMESSO str: seggio elettorale

Use Case

  1. Registration Form
    1. Fill out form
    2. Print and sign form
  2. Fill timetable and activity form
    1. Insert a date related to the week of which the volunteer want to record the attendance. Format DD / MM / YYYY (the date of any day of the week taken into consideration is fine). Attention: Do not enter the data of the same week twice
    2. Select the days off
    3. In order to guarantee that you always vae a copy of the original signed timetable at home, we recommend to print a copy of this form at the beginning of th week. (after entering the date and selecting the rest days)
    4. Insert the daily entry and exit timetables to calculate the actual hours of activity performed. Timetables must be inserted as numbers. Examples: 1. Entry at 9 in the morning: 0900 (the two separation points will be automatically written by the program) 2. 2:10 in the afternoon: 1410 3 7.00 in the evening: 1900
    5. Choose the activities performed every day from the drop down menu. Please note that illnesses, holidays and permits are counted as entire days. Enter the amount of hours scheduled for the day and select the corresponding item. e.g. if the estimated time of day for the holiday is 6 hours: enter 09:99 for the entry hour and 15:00 for the exit.
    6. Once completed inserting the timetables and activities go to the summary of the inserted data.
    7. Review the information in the summary and fix validation errors.
    8. Once the data is saved, the file is emailed once a month.

Features

  1. Registration Form
  2. Create PDF of registration Form
  3. Activity Form
  4. Create PDF of activity Form
  5. Generate a summary
  6. Data entry validation

Design

Database Schema

Screens

  1. Login Login

  2. Registration Registration

  3. Forgot Password Forgot your password

  4. First Page (Modulo) First Page

  5. Second Page (Riepilogo) Second Page

  6. Third Page (Registro) Third Page

Components

  1. High Level
    High Level
  2. First Page Components
    First page

cnca's People

Contributors

aliskhanoff avatar core17tk avatar jslopezgithub avatar milleymilli avatar ramzess-2 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

cnca's Issues

Build service to send emails

This service should be use to validate the user owns the email he or she is using to register the password. The service will also be used to send forgot password notifications.

Failure running `npm run test`

Describe the bug
Running the tests result in no test found and an error. Perhaps we need a dummy test?

To Reproduce
Steps to reproduce the behavior:

  1. Go to the cnca project
  2. Run npm run test from the terminal
  3. See the error
    npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] test: jest npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the [email protected] test script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Expected behavior
The script should run properly

Fix `npm run dev`

Describe the bug
Running npm run dev results in a crash

To Reproduce
Steps to reproduce the behavior:

  1. Go to the project
  2. Run npm run dev from the command line
  3. See the error [0] internal/modules/cjs/loader.js:638 [0] throw err; [0] ^ [0] [0] Error: Cannot find module '/Users/jslopez/Documents/workspace/cyf/cnca/Backend/server.js' [0] at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15) [0] at Function.Module._load (internal/modules/cjs/loader.js:562:25) [0] at Function.Module.runMain (internal/modules/cjs/loader.js:831:12) [0] at startup (internal/bootstrap/node.js:283:19) [0] at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3) [0] [nodemon] app crashed - waiting for file changes before starting...

Expected behavior
There should not be any warnings or crashes

Running `npm run lint` results 36590 problems

Describe the bug
There are thousands of lint problems in an empty new project

To Reproduce
Steps to reproduce the behavior:

  1. Go to the cnca project in your terminal
  2. Run npm run lint
  3. See the error: ✖ 36590 problems (36176 errors, 414 warnings) 28702 errors and 0 warnings potentially fixable with the --fix option.

Expected behavior
Since this is a brand new project without code yet, there should not be any lint errors

Implement a generic db insert function

In example a function boolean insert(table name, key, valuesList). So that once we define our tables we can reuse it to insert db rows among the tables we'll define.
In example for the table name "Users"

myCodiceFiscale is the key and the values are name1, surname1, birthPlace1, birthDate1, activityCategory1, etc ..

Returns true if correctly inserted , otherwise false or exception.
Nice to have: validation about values types and/or ranges (i.e. date-based , length-based )

Failure running `npm run server`

Describe the bug
Running the npm run server script fails

To Reproduce
Steps to reproduce the behavior:

  1. Go to cnca project in your terminal
  2. Run npm run server
  3. See the error `07:33 $ node run server
    internal/modules/cjs/loader.js:638
    throw err;
    ^

Error: Cannot find module '/Users/jslopez/Documents/workspace/cyf/cnca/run'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)`

Expected behavior
The script should start the server

Running `npm run heroku-postbuild` results in several problems

Describe the bug
This is a list of the problems:

  1. There are several warnings when the command is run. `> npm install --prefix client && npm run build --prefix Frontend

npm WARN saveError ENOENT: no such file or directory, open '/Users/jslopez/Documents/workspace/cyf/cnca/client/package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open '/Users/jslopez/Documents/workspace/cyf/cnca/client/package.json'
npm WARN client No description
npm WARN client No repository field.
npm WARN client No README data
npm WARN client No license field.2. It modifies the build directory. This directory should not have been committed and should be removed from git.Frontend/build/`

To Reproduce
Steps to reproduce the behavior:

  1. Go to cnca project in your terminal
  2. run npm run heroku-postbuild
  3. See the warning and run git status to see the changes in your tree

Expected behavior
The script should not have any warnings and it should not modify any files committing in git

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Service to calculate if a day is a holiday

Based on a table and a date, the service should return whether the day is a holiday or not. This value is used to indicate if the field is a holiday in the spreadsheet.

npm run build script is missing

Describe the bug
package.json should have a build script.

To Reproduce
Steps to reproduce the behavior:

  1. Go to the cnca project
  2. Run npm run build
  3. See the error npm ERR! missing script: build

Expected behavior
Running npm run dev displays the following information: [1] Note that the development build is not optimized. [1] To create a production build, use npm run build. However, the build script is missing.

Integrate login screen

Using the username and password grant the user password. This task is simply a way to integrate the values provided by the front end and call the database to check the values.

`npm run lint:fix is broken`

Describe the bug
The script is not running properly

To Reproduce
Steps to reproduce the behavior:

  1. Go to the cnca project in your terminal
  2. Run npm run lint:fix
  3. See the error: `> [email protected] lint:fix /Users/jslopez/Documents/workspace/cyf/cnca

eslint eslintrc.js --fix .

Oops! Something went wrong! :(

ESLint: 6.7.2.

No files matching the pattern "eslintrc.js" were found.
Please check for typing mistakes in the pattern.`

Expected behavior
The script should run without errors or warnings

Service to obtain day of week based on date

On the registration page the volunteer can pick a date e.g. 12/2/2019 and the spreadsheet figures out what day of the week it is. e.g. Monday This is done by using the TEXT function in excel with a format of "gggg" in Italian ("dddd") in English https://support.office.com/en-us/article/text-function-20d5ac4d-7b94-49fd-bb38-93d29371225c

Formula =IF(B5="","",TEXT(B5, "gggg")

If B5 is empty, display empty otherwise display the day of the week. Note: this only works in italian given the usage of gggg

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.