Plan, Create, and Share Your Academic Journey!
View Demo
·
Report Bug
·
Request Feature
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. With a focus on user-driven content and a dynamic visual interface, UniPath.io offers a comprehensive suite of tools for meticulous degree path planning and progress tracking. Here's how UniPath.io will empower students:
- Degree Path Planning: Craft a detailed degree plan by manually entering courses, defining your academic goals, and structuring your semesters ahead.
- Visual Progress Tracking: Get a clear visual representation of your academic journey, with color-coded progress indicators for completed, current, and planned courses.
- Requirement Mapping: Input and manage degree requirements to ensure all academic goals are met and your pathway remains on track.
- Course Dependencies: Define and visualize prerequisites and co-requisites to understand course sequences and validate your academic plan.
- Interactive Pathway Validation: Our system will analyze your plan to confirm the validity of your course sequence, ensuring you meet all necessary academic criteria.
- Collaborative Planning: Share your degree pathway with peers and advisors, allowing for collaborative planning and feedback.
- Pathway Comparison: Compare your academic plan with others to explore different pathways and find the best fit for your educational aspirations.
- Community Engagement: Engage with a community of students navigating their own academic paths, share insights, and gain inspiration from others' progress.
UniPath.io is more than just a planning tool; it's a community-driven platform that encourages students to take charge of their education, share their experiences, and support each other's academic growth.
Note: This project is currently in development. The application is not yet fully functional, and some features may be incomplete or missing. Please refer to the project roadmap for more information.
This section is for developers who want to contribute to the project. If you're looking to use the application, please visit the UniPath.io website.
- You will need Node.js and NPM to run the application. You can either install them manually, or use the provided Dockerfile to build a Docker image and run the application in a container.
- You will need access to an AWS account for AWS Amplify, as the project is configured to use AWS services for CI/CD, hosting, and backend resources. Please ensure you configure your AWS credentials and environment variables before attempting to deploy.
- Install the Amplify CLI tool:
npm install -g @aws-amplify/cli
- 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
To start the application in development mode, run:
npm run dev
This will start the Next.js server with hot-reloading enabled on http://localhost:3000 on your local machine.
AWS Amplify CLI is required to configure and deploy certain AWS resources. If you are designing or modifying backend AWS Amplify resources, then it is a good idea to create an isolated backend environment for testing.
Note that prod
, dev
, and test
are reserved environment names, as we are following the Feature Branch Workflow for AWS Amplify.
-
To create a new backend environment, run:
amplify env add
You can name the isolated environment with your name or any other identifier. This will create a new backend environment in the cloud, and a new local environment config file in the
amplify
directory. Then push the backend environment to the cloud:amplify push
This will create the backend resources in the cloud, and update the local environment config file with the new backend environment information.
-
To view the current backend environment, run:
amplify env list
-
To switch to a different backend environment, run:
amplify env checkout <environment-name>
For documention on how to use the CLI, please refer to the AWS Amplify CLI documentation.
- DevOps: Master the principles of continuous integration, continuous deployment, and infrastructure as code.
- Cloud Computing: Gain in-depth knowledge of AWS services, serverless architectures, and cloud-native solutions.
- Software Engineering (SWE): Acquire a strong understanding of best practices, design patterns, and modern web development techniques.
- Frontend Web Development: Develop proficiency in creating user interfaces using technologies like HTML, CSS, JavaScript, and React JS.
- Version Control: Git
- CI/CD: AWS Amplify Hosting
- Frontend: JavaScript, HTML, CSS, React JS, Next JS, MUI
- Containerization: Docker
- Database: AWS DynamoDB
- Backend: AWS Lambda
- Infrastructure as Code: AWS CloudFormation/Terraform
- Version Control with Git: Introduce and practice version control to manage codebase effectively.
- CI/CD with AWS Amplify Hosting: Implement a robust continuous integration and deployment pipeline.
- Web Development: Master frontend technologies like React JS & Next JS, and understand Server-Side-Rendering principles.
- Dockerization: Understand the benefits and practical applications of Docker and containerization.
- Database Management with AWS DynamoDB: Explore cloud databases and their best practices.
- Backend Development with AWS Lambda: Learn serverless architecture and how to create and manage Lambda functions.
- Advanced Cloud Computing Topics: Dive deeper into cloud computing concepts like infrastructure-as-code (IaC) using AWS CloudFormation/Terraform.
See the project board for the project roadmap and progress.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. Please see the contributing guidlines for more information.
See the best practices for more information on how to make meaningful contributions to the project.
Distributed under the MIT License. See LICENSE
for more information.
- Homepage: https://github.com/UMLCloudComputing/Fall2023
- Discord: https://discord.gg/WC2NdqYtDt
This is a list of contributors to the project. If you would like to contribute, please see the contributing guidelines.
Arranged from alphabetical order by last name.
- Kojo Bempah
- Christopher Coco
- Matthew Hudzikiewicz
- Edmund Kam
- Matthew Marwad Kostandin
- Rohan Mallu
- Martin Marwad
- Rahul Rajesh
- Roshan Rajesh
- Aaron Roche
- Noah Shayne
- Gurpreet Singh
- Alvin Yu