0.1.0-alpha
Pre-releasePrediction Polls 0.1.0-alpha release
In this release, we have laid down the architecture of our app and developed a prototype aimed at achieving Customer Milestone 1. While we have introduced several features, there's room for refinement or modification in line with evolving requirements. This release serves as a testament to our progress to date, establishing a solid foundation as we strive towards delivering an app that fully meets our customer's expectations.
Frontend
Changelog
- Implemented the UI for both the sign-in and sign-up pages.
- Implemented the sidebar for enhanced interpage navigation.
- Implemented the UI for 2 view modes: light and dark modes.
- Implemented the UI for the feed page.
- Implemented the UI of elementary components such as discrete and continuous. polls.
Env Variables
REACT_APP_PUBLIC_GOOGLE_CLIENT_ID=438704612387-juqu41ofqkoluet3mnmenma0jn4ah3cd.apps.googleusercontent.com
REACT_APP_PUBLIC_GOOGLE_OAUTH_REDIRECT_URL=http://ec2-3-121-205-89.eu-central-1.compute.amazonaws.com:8000/googleAuth
REACT_APP_BACKEND_LINK=http://ec2-3-121-205-89.eu-central-1.compute.amazonaws.com:8000
Local Execution
1- Cd to prediction-polls/frontend
2- Run "npm i"
3- Create .env file under frontend folder and fill .env file with given env file content
4- Run "npm run start"
Deployment
1- Cd to prediction-polls/frontend
2- Make sure docker daemon is running
3- Create .env file under frontend folder and fill .env file with given env file content
4- Run "docker-build -t my_image" to create an image with name my_image
5- Run "docker run my_image" to start image
Backend
Changelog
- Added authorization with access and refresh tokens.
- Added google log in mechanism which currently collects data on backend
- Implemented registration mechanism and connected it to database
Env Variables
ACCESS_TOKEN_SECRET=54cf744cd7915dfe0d9312f662f3d11cf01c9044ebddc1936342cebaafa4b31762336b1ea3a8d3db1fa96aac7761c23ad57cc6811f5cc0c67bb22c2fab8d9d6e
REFRESH_TOKEN_SECRET=8cdd68c7790caa842dce01db188a5024e27201c969855374b3207079bd93137117fcfd2ce247a87946cf93ea1c5486cba0a7d68293f66e2794d00b45aaa06b9a
MYSQL_HOST=prediction-app.crzjglbrejmx.eu-central-1.rds.amazonaws.com
MYSQL_USER=admin
MYSQL_PASSWORD=prediction123
MYSQL_DATABASE=predict_app
googleClientId=438704612387-juqu41ofqkoluet3mnmenma0jn4ah3cd.apps.googleusercontent.com
googleClientSecret=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
googleOAuthRedirectUrl=http://ec2-3-121-205-89.eu-central-1.compute.amazonaws.com:8000/googleAuth
googleOAuthFailRedirectUrl=http://ec2-3-78-169-139.eu-central-1.compute.amazonaws.com:3000/auth/sign-in
Local Execution
1- Cd to prediction-polls/backend
2- Run "npm i"
3- Create .env file under backend folder and fill .env file with given env file content
4- Run "npm run devStart"
5- For test run "npm test"
Deployment
1- Cd to prediction-polls/backend
2- Make sure docker daemon is running
3- Create .env file under backend folder and fill .env file with given env file content
4- Run "docker-build -t my_image" to create an image with name my_image
5- Run "docker run my_image" to start image
Mobile
Changelog
- Android app initialized
- Added required dependencies
- Initialized theme colors
- Selected and added new font
- Added dynamic color feature (Disabled by flag for this milestone)
- Implemented Navigation System
- Implemented the network module
- Implemented network interceptors
- Implemented base classes (for example BaseViewModel)
- Implemented exception handling system
- Implemented Main Screen
- Implemented Login Screen
- Implemented SignUp Screen
- Implemented Token Management System
- Implemented Auth Service
- Implemented common Error Dialog for unexpected errors.
- Implemented Navigation Drawer for feed.
- Added UI tests
- Added Unit tests
Env Variables
base_url="http://ec2-3-121-205-89.eu-central-1.compute.amazonaws.com:8000/"
Local execution
1- Change directory to prediction-polls/android
2- Open the directory with IDE (Android studio recommended since you also need sdk for local execution).
2- There is local.properties file (env file for the android apps) copy the env variables to the bottom of the file. Don't forget that this file should also include sdk directory but since it is user specific you should handle that. (Android studio handles this).
3- You should sync gradle. You can find the option from the bar in android studio. (Install dependencies)
4- Then you can run the app with run button. You may need to specify config for running but since the project have one app you can choose the default config.
Deployment
Since we are not publishing our app in platform, we are providing the apk for customer to test. You can find the apk in the attachment.