An application to help the students of BITS Pilani to swap courses. The app is made on Kotlin and Jetpack libraries. All network requests are made using Retrofit. The app has its own backend API service made using Django
An application to help the students of BITS Pilani to swap courses. The app is made on Kotlin and Jetpack libraries. All network requests are made using Retrofit. The app has its own backend API service made using Django
Tech stack
The app is made on Kotlin and Jetpack libraries.
All network requests are made using Retrofit.
The UI for the Android app is built using ConstraintLayouts.
Uses firebase for OTP verification and Cloud messaging
User signs in with Google. Allows access only to BITS email addresses. Then takes their phone numbers and verify via Firebase OTP phone number verification. Authenticates the sign in with my backend server and connect the phone number to the same account.
The backend:
My own backend API service using django.
All the major tasks such as matching of users and sending notifications take place on the backend.
All data in the backend service is stored in a NoSQL database, MongoDb.
Uses Firebase Cloud Messaging to notify the user when a match is found.
Uses Google .oauth2, Django Rest framework, Fcm django, Firebase, Djongo
The API endpoints can be accessed here:
https://swapcrux.herokuapp.com/
The GitHub repository for the project:
Backend: https://github.com/rijuld/swap-backend
Frontend: https://github.com/rijuld/swapfrontend
The feature set include:
1. Adding a request (a user can add multiple),
2. Viewing your requests,
3. Viewing details for your request
4. Deleting requests.
5. Other users must not be able to see other requests.
6) Matching is on a first request, first match basis.
When two users are matched:
1)Both users are sent a notification from the backend and when the details are viewed, he is be able to see the other person’s name, email, and phone number.
2)On clicking on the notification the user is taken to a page where it shows that the request was successful
3)Both the users aren't not be matched with anyone else unless one user deletes their request.
4)Both the users requests automatically gets deleted once they are matched
Contact errijuldahiya(at)gmail.com to get more information on the project