Our app is called LearnLink. This app is to match students with other students to create study groups for their course. The app will allow the user to create a login page. If the user already has a login page then they can just sign in. Users can message eachother, create a profile and match with other users for what requirements they want with their study group. Users can use the resources and have a personal grade calculator as well.
https://main.d31vpxqs9hcxco.amplifyapp.com
In order to build this project you first have to install:
If possible, list the actual commands you used to install these, so the reader can just cut-n-paste the commands and get everything setup.
You only need to add instructions for the OS you are using.
Here you list all the one-time things the developer needs to do after cloning your repo. Sometimes there is no need for this section, but some apps require some first-time configuration from the developer, for example: setting up a database for running your webapp locally.
Use the MakeFile provided.
Navigate to the project main directory and type:
make install
make start
-
Setup Frontend Code
- The frontend application is located in the
learnlink-ui
folder. - It was built using React and configured for deployment through AWS Amplify.
- The frontend application is located in the
-
Deploy via AWS Amplify
- Connected the frontend repository to AWS Amplify.
- Configured Amplify to automatically build and deploy the application on updates.
- The frontend is accessible at the Amplify-provided URL here.
-
Containerization
- The backend application, located in the
learnlink-server
folder, was containerized using Docker. - A
Dockerfile
was created to define the container's environment and dependencies. - The backend listens on port
443
for HTTPS traffic.
- The backend application, located in the
-
Hosting on AWS EC2
- Deployed the Docker container to an AWS EC2 instance.
- Ensured required ports (80 and 443) were opened in the EC2 security group.
- Used Let's Encrypt to generate SSL certificates for secure HTTPS connections.
-
Domain Name Configuration
- Registered the domain name
https://learnlinkserverhost.zapto.org
via No-IP. - Configured the domain to point to the EC2 instance's public IP address.
- Integrated the SSL certificates into the backend to ensure secure API calls.
- Registered the domain name
-
Redirect from HTTP to HTTPS
- Configured the backend to redirect all HTTP traffic to HTTPS for security.
- The frontend communicates with the backend via the custom domain
https://learnlinkserverhost.zapto.org
. - API calls are routed securely using HTTPS.
The unit tests are in learnlink-ui/src/__tests__/unit
.
The behavioral tests are in learnlink-ui/src/__tests__/behavioral
.
run make install
before testing
Navigate to pandas-capstone
run make test
Natalie Crawford - natcrawfordd@gmail.com, crawfon@email.sc.edu
Kennedy Houston - kenbhx@gmail.com, kbh5@email.sc.edu
Yesha Patel - yeshapatel143@icloud.com, yppatel@email.sc.edu
Kelly Finnegan - kellfin9946@gmail.com, finnegak@email.sc.edu
Sara (Rae) Jones - sej15@email.sc.edu