Giter VIP home page Giter VIP logo

aitfinalproject's Introduction

NYU User Experiment Recruitment platform

Notes for Graders

Login Page
username : test1
password : test1

1st Form
This form will actually put you as a registered user in the database for this particular experiment

2st Form
This is admin accessible form that will register a new experiments to be visible for the students .If you go to Student Dashboard , you can see the newly created experiment

Significant work was done on the frontend which is entirely made of react
User authentication is also done with bcrpyt
2 forms Integrated in user and Admin
Significant work was done on setting up the database and designing Mongoose schema

Overview

The User Experiments Recruiter platform is a platform designed to streamline the process of recruiting participants for user research and experimentation done by NYU Labs. This platform helps to connect with individuals who match the specific demographic and behavioral criteria needed for a wide range of research projects. It offers a user-friendly interface that allows researchers to define their target audience, set recruitment criteria, and monitor the recruitment progress in real-time. With its ability to efficiently source diverse participants, the User Experiments Recruiter platform significantly enhances the speed and accuracy of user testing, making it an invaluable resource for researchers and social science experiments happening at NYU to obtain meaningful insights from their user experiments. It is also a platform where students can earn some money by participating in the experiment.

Data Model

The application will store Users, Experiments, and Participants Info

  • users can have multiple properties such as firstName, lastName, email, age, gender, location, and interests
  • The experiment will have properties such as the title, description, criteria, hourly compensation, time commitment, etc
  • Participants will have the embeddings of user schema and ExperimentSchema
const UserSchema = new mongoose.Schema({
  firstName: String,
  lastName: String,
  email: String,
  age: Number,
  gender: String,
  location: String,
  interests: [String],
});
const ExperimentSchema = new mongoose.Schema({
  title: String,
  description: String,
  criteria: {
    age: { min: Number, max: Number },
    gender: [String],
    location: String,
    interests: [String],
  },
  Invasive : No,
  RequiresEquipments : Yes,
  Numberofparticipants : 30,
  HourlyRate : 20,
  startDate: Date,
  endDate: Date,
});
const ParticipantSchema = new mongoose.Schema({
  user: { type: mongoose.Schema.Types.ObjectId, ref: 'User' },
  experiment: { type: mongoose.Schema.Types.ObjectId, ref: 'Experiment' },
});

db.mjs file

Wireframes

(TODO: wireframes for all of the pages on your site; they can be as simple as photos of drawings or you can use a tool like Balsamiq, Omnigraffle, etc.)

-Login page for Admin/Experimental

-Login page for Student/User

-User/Student Dashboard for finding and registering for experiments list

-Admin/Dashboard for publishing user experiment study to recruit participants

Site map

User Stories or Use Cases

  • As an NYU Researcher, I want to be able to define the criteria for my experiment.
  • As an NYU Researcher, I want to be able to recruit NYU students for my experiments efficiently
  • As an experimenter, I want to easily create and manage new experiments on the platform, complete with experiment titles, descriptions, and recruitment criteria, to facilitate experimentation.
  • As a researcher, I want to receive real-time updates and notifications on the progress of participant recruitment for my experiments, so that I can stay informed about the status of my projects.
  • As a platform user, I want to efficiently find an experiment where I can earn some extra money.
  • As a platform user, I want to filter the experiments based on time commitment and my department's interests.

Research Topics

  • (5 points) React : Using and learning react as a front-end framework
  • (5 points) Integrate user authentication : I'm going to be using my passport for user authentication
  • (2 points) : Use a CSS framework or UI toolkit tailwind.css

App.mjs file

Annotations / References Used

  1. passport.js authentication docs
  2. tutorial on React

aitfinalproject's People

Watchers

Avinash Gyavali avatar

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.