-
Notifications
You must be signed in to change notification settings - Fork 7
Home
TutorBase is a tutor-student connection website for Rensselaer Polytechnic Institute. Students are able to find tutors for classes they need help in and also register to be tutors to help others.
The purpose of this wiki is to help new developers onboard to the project easily. Follow the links below for important documents and references to help you get started on the project.
This project is currently under development. Our goal is for a Fall 2022 release date. We only have a few bugs to work out and we should be good for a full release! At the moment we are unsure of what deployment opportunies we can use but are looking into it. If you have any suggestions please join our discord: https://discord.gg/QvFcd9f6aU
Checkout the Installation Guide Page on how to get this codebase downloaded to your device.
- Then run npm install under both client and server to get the required packages
If you are new to Version Control Systems like Git, then check out our quick tutorial on Git and how we use it in this project here.
- Its not required, but this project may use conventional commits in the future to automatically generate changelogs.
- Checkout https://www.conventionalcommits.org/
- We also try to use GitFlow which is a branch organization system (master, develop, feature, hotfix)
- Read more here: https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
Our project uses MERN Stack or MongoDB, Express.js, React.js and Node.js as the backbone of our system. If you are new or unfamilar with any of these
technologies, then checkout the Stack Documentation to learn about MERN stack and the other third-party dependencies we rely on.
- We also use Reactstrap as our UI library and ToastUI for some components such as the calendar:
- https://ui.toast.com/tui-calendar
- https://reactstrap.github.io/
- We also use various other npm packages and as you work on the project you will see them
As of spring 2021 we have refactored the project, the frontend now use Typescript and react 17. If you are not familiar with typescript it is just typed javascript, checkout: https://www.typescriptlang.org/. Note that react 17 uses "hooks" and "functional components" instead of classes. You may still see old code using JS and class components.
It is recommended you also checkout Project Organization to understand how this project is organized.
If you need additional help, checkout the resources channel in the Discord server or ask one of your Project Mangers.
To learn more in detail about our main view components and how they work, checkout the [Front End Structure].(https://github.com/DangItJason/TutorBase/wiki/Front-End-Structure)
To learn more in detail about our database design, check out the Database Structure
To learn more about our basic communication channels, checkout the API Endpoints.
Refer to the sidebar to navigate the named and additional resources.