Nebula Planner is a tool for planning out students' college experience
Nebula Planner allows students to plan out including coursework, co-curricular activities like studying abroad and research, and extracurricular involvement in student organizations. It does this with an intuitive drag-and-drop interface that represents various college activities as blocks and displays them in semester groups.
Planning coursework poses a challenge for many.
From choosing the right professors to knowing when to take a class, schedule planning is the bane of any college student.
UTD students have access to tools like UTD Grades and Rate My Professors to help them pick classes for a specific semester, but there hasn't been a solution that allows a student to say, "I want to major in CS, minor in psychology, and do a few internships before grad school. Generating a plan lets me do all of that with the professors I want."
Until now, that is.
Nebula Planner is an integrated solution designed to help students plan out their entire undergraduate experience in one place. It allows students to focus on ensuring their college experience holistically suits their desires and optimize for long-term success.
- Drag-and-drop interface for planning coursework by semester for any degree plan
- Sign in to save data across planning sessions
- Export to file to share your custom plan with someone else
Contributions are welcome!
This project uses the MIT License.
To get started, see the contribution guide. It'll tell you everything you need to know.
Additionally, see the Project Nebula-wide contributors guide for more info.
Once you're ready to make some changes, see the issues for the repository.
If you want to brainstorm, share ideas or ask questions, start a discussion in the Discussions section.
This project requires a working Node.js and NPM installation. It also requires local environment variables since it uses Neon (hosted PostgresDB service), a SMTP server and Discord as authentication provider.
To start, clone the repository, and obtain the required environment keys as explained below.
git clone https://github.com/UTDNebula/planner.git
cd planner
Copy the contents of the .env.example
file at the root of the repo to a new file called .env
.
Neon is a hosting service for PostgresDB.
- Install the Neon CLI.
- Run
neonctl auth
and follow the on-screen prompts to login or create an account. - Run
neonctl projects create --name planner-dev
to create a Neon project for Planner. - Copy the string listed under 'Connection Uri' (ex:
postgres://my-user:my-password@my-project-id.us-east-2.aws.neon.tech/neondb
) and update theDATABASE_URL
andDIRECT_DATABASE_URL
variables in your .env file, as shown below.
# Prisma
DATABASE_URL="<your connection uri here>"
DIRECT_DATABASE_URL="<your connection uri here>"
-
Check By clicking Create, you agree to the Discord Developer Terms of Service and Developer Policy.
-
Paste "http://localhost:3000/api/auth/callback/discord" into input
-
Copy the host, port, user, and pass values.
npm install
npm run build
npm run dev
This will generate the DB schema, seed the DB and run a local development server on localhost:3000
by default.
This project is maintained by Nebula Labs, which is an open-source initiative to build projects that improve student life at UTD. If you have any questions about this project or Nebula Labs, join the Nebula Labs discord.
For more formal inquiries, send us a message at core-maintainers@utdnebula.com with "[nebula-planner]" in the title. Please be as detailed as possible so we can best assist you.