Plan, Create, and Share Your Academic Journey!
View Demo
Β·
Report Bug
Β·
Request Feature
WARNING: This project is currently under development and is not yet ready for production use. Please check back later for updates. Expected completion date: May 2024.
Developed by students from the Cloud Computing Club at UMass Lowell, UniPath.io is an innovative web application designed to revolutionize the way college students plan and visualize their academic journey.
View contents
-
π Degree Path Planning
- Craft a detailed degree plan by entering courses and their prerequisites.
- Define your academic goals and structure your semesters ahead.
- Input and manage degree requirements to ensure all academic goals are met.
-
π Visual Progress Tracking & Analysis
- Get a clear visual representation of your academic journey with color-coded progress indicators.
- Define and visualize prerequisites and co-requisites to understand course sequences.
- Our system analyzes your plan to confirm the validity of your course sequence.
-
π₯ Collaborative Planning & Community Engagement
- Share your degree pathway with peers and advisors for collaborative planning and feedback.
- Compare your academic plan with others to explore different pathways and find the best fit for your educational aspirations.
- Engage with a community of students navigating their own academic paths, share insights, and gain inspiration.
View contents
- Node.js and NPM or Docker for running the application.
- AWS account for AWS Amplify.
-
Clone the repository:
git clone https://github.com/UMLCloudComputing/UniPath.io.git
-
Navigate to the project directory:
cd UniPath.io
-
Install NPM packages:
npm install
First, install the AWS Amplify CLI globally:
npm install -g @aws-amplify/cli
-
Make a new profile:
npx ampx configure profile
Hit Enter.
Note: If there's already a profile, then use:
npx ampx configure profile --name [insert name of profile you want here]
It should automatically switch.
-
Navigate to Amplify Console for Secrets: For Cloud Computing Club members, go to the Amplify console (All apps > UniPath.io > Secret management) and copy the values for below. For others, you will need to generate your own client ID and secret with your google account.
-
Configure Google Client ID:
npx ampx secret set GOOGLE_CLIENT_ID [your_client_id_here]
Replace
[your_client_id_here]
from the client ID above, then paste in the value. Hit enter. -
Configure Google Client Secret:
npx ampx secret set GOOGLE_CLIENT_SECRET [your_client_secret_here]
Replace
[your_client_secret_here]
from the client secret secret, then paste in the value. Hit enter.
To run the application locally, you need to run the Amplify sandbox command to create the backend cloud resources and the npm run dev command for the frontend. You will need to keep both commands running in two separate terminals.
Start the Amplify sandbox command. This will provision the AWS backend resources. Keep this command running in the background.
npx ampx sandbox
Open a new terminal and start the frontend application:
npm run dev
Visit http://localhost:3000 to view UniPath.io in your browser.
When developing for UniPath.io, it is important to keep the project up to date with the latest changes. To update the project and pull the latest changes from GitHub, follow these steps:
-
Navigate to the project directory:
cd UniPath.io
-
Pull the latest changes from the GitHub repository. It is important to pull the latest changes before creating a new feature branch.
git pull
-
Install NPM packages. This will update the project with the latest dependencies:
npm install
That's it! You're all set to start developing with the latest version of UniPath.io.
View contents
-
Project Management: Apply agile methodologies such as Scrum and Kanban to enhance collaboration and efficiency.
-
Cloud Computing: Gain in-depth knowledge of AWS services and cloud-native solutions.
-
DevOps: Master continuous integration, continuous deployment, and infrastructure as code.
-
Software Engineering (SWE): Embrace best practices, design patterns, and modern development techniques, including version control with Git.
-
Frontend Web Development: Develop dynamic and responsive web applications using JavaScript and modern frameworks.
For the latest updates and progress, see our project boards:
- General Board for an overview of the project's progress.
- Frontend Board for updates and tasks related to frontend development.
- Backend Board for backend development tasks and progress.
Contributions are what make the open-source community an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
Creating a New Branch and Making a Pull Request
Follow these steps to contribute to the project with a new feature or bug fix:
Before starting your work, ensure you're on the main
branch and that it's up to date.
git checkout main
git pull origin main
Create a new branch for your feature or bug fix. Follow a naming convention like feature/<feature-name>
or bugfix/<bug-name>
.
git checkout -b feature/my-new-feature
# or
git checkout -b bugfix/my-bug-fix
Implement your feature or fix the bug in your branch. Commit your changes using clear, concise, and conventional commit messages following the guidelines at conventionalcommits.org.
git add .
git commit -m "feat: add my new feature"
# or
git commit -m "fix: correct a bug"
Optionally, if you assigned yourself an issue, you can automatically create and link a branch using the GitHub UI. Click on the "Create a branch" button and select the option to create a new branch for the issue.
Push your changes to the repository.
git push origin feature/my-new-feature
# or
git push origin bugfix/my-bug-fix
- Use clear, concise, and conventional commit messages.
- Follow the best software development practices and write clean, maintainable code.
- For ReactJS, follow this style guide: https://dev.to/abrahamlawson/react-style-guide-24pp. Except use indendantation of 4 spaces instead of 2.
Go to the GitHub repository page and click on the "Pull request" button. Select your branch and provide a detailed description of your changes. Explain why your changes should be merged into the main branch.
Wait for the project maintainers to review your pull request. They may request changes. Once your pull request is approved, a project maintainer will merge it into the main branch.
Thank you for your contribution!
Distributed under the MIT License. See LICENSE
for more information.
- Homepage: https://umasslowellclubs.campuslabs.com/engage/organization/cloudcomputingclub
- Discord: https://discord.gg/zBw2SD6tGa
Many thanks to the UMass Lowell Cloud Computing Club members, our faculty advisor Dr. Johannes Weis, and the UMass Lowell Computer Science Department for their support and guidance.