- Description of App
- Features
- Link to deplyed version
- Server and Client
- Tech Stack
- Data Models
- API Endpoints
- Future Plans
Welcome to uh-SIGN-ment! A learning app designed to teach you the basics of American Sign Language! We've built this application with the best learning techniques in mind to help you retain as much information as possible! With each uh-SIGN-ment, you'll reinforce your knowledge of ASL, and be able to see your progress!
You can fine a live version: Live Version
Users can login and start learning sign language. Users are presented with a dashboard that will keep track of their records and stats with every word and able to make sure they are focusing on the words/letters then need to be.
Users are given feedback and they are learning using a spaced repetition algorithm.
Live App
Here is a link to our Client-side
Here is a link to our Server-side
Frontend: Created with create-react-app, styling done with CSS. Html. React-redux to keep a store of the state. Thunk middleware for async actions. Redux forms for form inputs.
Backend: Node.js and Express. Passport and JWTs
Database: MongoDB
{
username: {
type: String,
required: true,
unique: true
},
password: {
type: String,
required: true
},
name: { type: String, default: "" },
questions: [
{
questionId: { type: mongoose.Schema.Types.ObjectId, ref: "Question" },
imageURL: String,
imageDescription: String,
answer: String,
memoryStrength: { type: Number, default: 1 },
next: Number,
correct: { type: Number, default: 0 },
incorrect: { type: Number, default: 0 }
}
],
head: { type: Number, default: 0 },
totalCorrect: { type:Number, default: 0},
totalWrong : { type:Number, default:0 },
needImprove : [{
imageURL: String,
imageDescription: String,
answer: String,
correct: { type: Number, default: 0 },
incorrect: { type: Number, default: 0 }
}]
});
{
imageURL: String,
imageDescription: String,
answer: String
}
All requests and responses are in JSON
POST request
{
username,
password,
name,
}
Returns
{
username,
name
}
GET request to /progress
{
totalCorrect,
totalWrong,
needImprove
}
POST request to /login
{
username,
password
}
Returns
{
authToken
}
POST request to /refresh submits a token for a new token
{
authToken
}
Returns
{
authToken
}
GET request
{
imageURL,
imageDescription,
answer
}
PUT request to /reset to reset User's question array
POST request
{
correct(bool)
}
Return
{
imageURL,
imageDescription,
answer
}
We would like to add a seperation between types of questions where you can pick the genre of whatever you are learning be it the alphabet or even commonly used everyday signs.





