- Install Python and Postgres
- Setup virutalenv if you want
- Setup Postgres with user
sanjay
, passwordtypeit
, databasetypeforslack
running in local. - Then run
pip install -r requirements.txt
- Then migrate if any changes
python manage.py migrate
- Run development server
python manage.py runserver
BASE-URL: https://typeforslack.herokuapp.com
ENDPOINTS:
- Registering new user:
API: /auth/register
Method: POST
Request Format: { username: String, password: String, email: EmailFormat }
Response: { success: Boolean, token: String }
API: /validate-username
Method: GET
Params: username <String>
Response: { istaken: Boolean , error: String }
- Login:
API: /auth/api-token-auth/
Method: POST
Request Format:{ username: String, password: String }
Response: { token: String }
- Registering google users:
API: /auth/google/login
Method: POST
Sign Up:
Request Format:{ username: String, token: hash }
Response: { success: Boolean, token: String }
Sign in:
Request Format:{ token: hash }
Response: { token: String }
- Logout:
API: /auth/logout
Method: GET
Response : { success: Boolean }
- Dashboard Data: [ NEW ]
API:/dashboard
Method:GET
Response:{accuracy: Integer ,arcade: String ,inactive_days: Integer, longest_streak: Integer, practise: String, race: String, streak: Integer,total_streak: Integer, user_since: String, wpm: Integer}
- Fetching and Storing Typing Details [ UPDATED ]
API: /userlog
Method: POST
Request Format: { mode: 'practise/arcade/race', para: Integer, wpm: Integer, taken_at: DatetimeFormat, correct_words: Integer, wrong_words: Integer, total_words: Integer, accuracy: Float }
Response: {success: Boolean}
API: /getuserlog/last=INT:logDataForLastNDates/
Method: GET
Response: { date: [ mode: String, wpm: Integer, taken_at: Datetime, correct_words: Integer, wrong_words: Integer, total_words: Integer, accuracy: Float ] }
- Creating and retriveing paragraphs:
API: /para
Method: POST
Request Format: { para: Integer, taken_from: String }
Response: { success: Boolean}
Method: GET
Response: { id: Integer, para: String, taken_from: String}