WasedaTime (stands for Waseda Timetable) is a non-profit & student-run open source web app for syllabus searching, course reviews and bus schedule checking at Waseda University.
We aim at supporting and improving campus lives of Waseda University students.
This project is deployed on AWS Amplify and uses GitHub Actions for continuous integration.
Unfortunately, currently there are no unit tests created to ensure the code quality.
Backend
You can view the repository here.
Frontend (Client)
Download: https://nodejs.org/en/
Please download the LTS one and install it.
Both Node.js
and npm
should be installed.
Install with npm
npm install -g pnpm
// if ↑ does not work, run ↓
sudo npm install -g pnpm
Installation with other ways: https://pnpm.io/installation
// By HTTP
git clone https://github.com/wasedatime/wasedatime-web.git
// By SSH
git clone git@github.com:wasedatime/wasedatime-web.git
Then move into the cloned repository:
cd wasedatime-web
Run git status
or git branch
to confirm that you are on master
branch
// At the top level of the project folder
pnpm install
// ↓ works the same
pnpm i
Ask our team leader to get the required .env
files.
.env
files are private and should not be shared with members outside the team in principle.
// At the top level of the project folder
pnpm start
root
app (with Home page, sidebar, AboutUs page)
cd root
pnpm start
cd syllabus
pnpm run local
master
.develop
branch is needed: Merge different new changes and test them with develop
before officially releasedevelop
. You should always develop your feature on this branch. If you are working on multiple new features, create different feature branches for each of themmaster
and directly pushed backed to master
after development. This is only for debugging in emergency.We welcome any developers to submit an issue or a pull request! :blush: For any developers who want to make contribution, including our members, please refer to the following steps!
Make a new branch from develop
branch called “feature/(name)”
git checkout develop
git checkout -b feature/{name-of-your-new-feature}
Then you can run git status
or git branch
again to confirm that you are on a new branch.
Begin your development!
Use Absolute Imports within each project where the src
folder of a project is called @app
e.g.
import Home from "@app/components/Home"
import { useLocale } from "@app/hooks/useLocale"
Whenever you finish writing code, run linter check and formatter in the terminal with the following command to make sure styling is consistent throughout all files
cd syllabus // or another app's folder where you were working on
pnpm fix
Whenever there are errors shown in the files you have changed, please fix them accordingly to the eslint/prettier error message as shown in the terminal
Whenever there is some progress in your work, commit it.
Run git status
to check what files are changed during your development.
Let Git know what files are ready to be committed
git add path/to/the/file
// or you can add all changed files by:
git add .
Commit your changes with a message precisely but specifically describing your changes
git commit -m "feat: styling of the clean button"
Please refer to this link about how to write a commit message: https://www.conventionalcommits.org/en/v1.0.0/
Push your changes to GitHub
git push origin feature/{name-of-your-new-feature}
Code editor like VScode has functionality for you to do the above steps without typing them one by one. What you need to do will not change; it just make the process more convenient.
Pull Request
tab, and then click the New pull request
button.develop
, compare branch to your branch.Create pull request
button.develop
.This section is being moved to internal documentation since it is an instruction for creating new & big features, which would be leave to our team members.
Chih-Hao Wang 🐛 💻 🎨 📖 🤔 👀 🚇 |
Meng Li 💻 🎨 🤔 |
Isabella-Ko 💼 🎨 🤔 |
JiaxianGu 🐛 💻 🎨 🤔 |
YH_hao_are_you 🐛 💻 🤔 👀 📆 |
AustinZhu 🐛 💻 🤔 🚇 🚧 |
NeroArcher 💻 🎨 🤔 |
k-jomphon 💻 🎨 🤔 |
Xia Zjou Zheng (George) 📆 🤔 💼 |
wanng 💻 🤔 |
Daiki Nishikawa 🤔 |
Jaw Bo Yue 🎨 🤔 |
youenn98 💻🤔 |
Zhen Cao 💻 🎨 🤔 |
Zenda Chen 💼🎨🤔 |
Kaiqing Chang 💼🎨🤔 |
Kaede Iijima ✅🎨 |
Nicholas Narmada 💻🎨🤔 |
Takumi Otsuka 💻🎨🤔 |
Jason Park 💻💼📆🤔👀 |
Xinyue Tao 💻💼🎨 |
Michael Kaminski 💻🎨 |
This project follows the all-contributors specification.
This project is licensed under the MIT License - see the LICENSE.md file for details