All Projects → wasedatime → wasedatime-web

wasedatime / wasedatime-web

Licence: MIT License
An unofficial web app for syllabus searching, classroom finding, and bus schedule checking at Waseda University.

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to wasedatime-web

quiz-app
🏆 QuizApp is a free and open-source quiz application that lets you play fully customized quizzes right in the browser.
Stars: ✭ 97 (+223.33%)
Mutual labels:  web-app, semantic-ui
Nativescript Ionic Template
📱 🖥 Create Mobile First apps, Web and Native sharing the code with Angular 🎉
Stars: ✭ 65 (+116.67%)
Mutual labels:  single-page-app, web-app
bzkanban
🔪 Kanban board for Bugzilla 5+
Stars: ✭ 39 (+30%)
Mutual labels:  single-page-app, web-app
Scalajs Bootstrap
Scala.js bootstrap components
Stars: ✭ 55 (+83.33%)
Mutual labels:  single-page-app, web-app
apertium-html-tools
Web application providing a fully localised interface for text/website/document translation, analysis and generation powered by Apertium.
Stars: ✭ 36 (+20%)
Mutual labels:  single-page-app, web-app
react-redux-semantic-ui
A starter boilerplate for a universal webapp using react, redux, express and feathers with Semantic UI theme
Stars: ✭ 39 (+30%)
Mutual labels:  semantic-ui
profile-store
Store profile links of people you admire, at one place. Made using MERN stack.
Stars: ✭ 37 (+23.33%)
Mutual labels:  semantic-ui
inventory-demo
a simple MERN stack CRUD app example
Stars: ✭ 15 (-50%)
Mutual labels:  semantic-ui
webpack-static-site-generator
A static site generator for Webpack
Stars: ✭ 14 (-53.33%)
Mutual labels:  single-page-app
kodlama.io-javareactcamp
Java - React Camp Works | Kodlama.io
Stars: ✭ 33 (+10%)
Mutual labels:  semantic-ui
cakephpvue-spa
A CakePHP + VueJS single page application skeleton/boilerplate.
Stars: ✭ 40 (+33.33%)
Mutual labels:  single-page-app
docker-rcon-web-admin
A Docker image that runs rcon-web-admin
Stars: ✭ 34 (+13.33%)
Mutual labels:  web-app
tourney-bot
an app to run the Houston Ultimate Indoor Tournament
Stars: ✭ 16 (-46.67%)
Mutual labels:  web-app
stoqs
Geospatial database visualization software for oceanographic measurement data
Stars: ✭ 31 (+3.33%)
Mutual labels:  web-app
maintenance-app
DHIS 2 app for configuration of metadata
Stars: ✭ 30 (+0%)
Mutual labels:  web-app
slipit
🔖 Your online bookmarks never be social
Stars: ✭ 16 (-46.67%)
Mutual labels:  semantic-ui
DjangoReactTodo2
A simple CRUD Todo app with Token Authentication
Stars: ✭ 15 (-50%)
Mutual labels:  semantic-ui
currency-converter
💰 Easily convert between 32 currencies
Stars: ✭ 16 (-46.67%)
Mutual labels:  web-app
servant-beam-realworld-example-app
Exemplary fullstack Medium.com clone powered by Servant and Beam
Stars: ✭ 33 (+10%)
Mutual labels:  web-app
web
Cloverleaf is a free, open source app to replace your password manager without storing your passwords anywhere.
Stars: ✭ 33 (+10%)
Mutual labels:  web-app

WasedaTime

All Contributors FOSSA Status

GitHub license Node.js CI - Root Node.js CI - Syllabus Node.js CI - Campus Node.js CI - Feeds Node.js CI - Career

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.

Getting Started

Prerequisites

# install pnpm package manager
npm install -g pnpm
# install bit cli
npm install bit-bin -g
# log into your bit.dev account
bit login
# clone the project
git clone https://github.com/wasedatime/wasedatime-web.git
cd wasedatime-web

Add bit token to your environment variables:

nano ~/.bashrc

# Then inside the file write:
export BIT_TOKEN=???

# Contact us for the value of '???'

Installing

# install packages for all frontend
pnpm install

Running the app for developing

You may meet errors when you run wasedatime-web locally and then access Syllabus page without having a .env file. Please contact us if you need the .env file, while it is not necessary to have it if the development you are engaging in is not related with Syllabus page.

To develop only in one frontend (with 'root'):

cd wasedatime-web/{folder name of the frontend you want to run}
pnpm run local

To develop only in one frontend (without 'root'):

cd wasedatime-web/{folder name of the frontend you want to run}
pnpm run start:standalone

To develop only inside 'root':

cd wasedatime-web/root
pnpm start

To run the whole project:

cd wasedatime-web
pnpm start

Create a new project (micro-app) in WasedaTime

  1. Install create-single-spa
pnpm install --global create-single-spa
  1. Inside wasedatime-web folder, run pnpx create-single-spa --moduleType app-parcel , then answer questions displayed on the console.

  2. A new app (let's say forum) is created. Move into the newly created folder forum and run the following to install packages

pnpm i
  1. Edit root/src/index.ejs
<% if (isLocal) { %>
<script type="systemjs-importmap" defer>
  {
    "imports": {
      "@wasedatime/forum": "//localhost:8082/wasedatime-forum.js" // port number should not be the same as others
} }
</script>
<% } %>
  1. Try to run the app locally
  • To run the app alone, run pnpm run start:standalone, then open http://localhost:8080
  • To run the app alone but with root, edit forum/package.json like the following:
  "scripts": {
  "start": "webpack serve --port 8082",
  ...
  "local": "concurrently --kill-others \"pnpm start\" \"cd ../root && pnpm start\"",
  ...
},

Then run pnpm run local inside career folder. This runs root and career at the same time. Before this, make sure you have run pnpm i inside root folder to install packages for root. Open http://localhost:9000 to see the result.

  • To run the whole project, run npm run ci-all inside root folder to install packages for all apps, and then edit root/package.json like the following:
"scripts": {
  ...
  "local": "{original script} \"cd ../career && pnpm start\"",
  ...
},

Then run pnpm run local inside root folder. This runs all app at the same time. Open http://localhost:9000 to see the result.

App Architecture

Continuous Integration and Deployment

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.

Built With

Backend:

You can view the repository here.

Frontend (Client):

  • Common
    • Single-spa - A framework to bring together multiple JavaScript microfrontends in a frontend application.
    • Styled Components - Library used for adding CSS to React components.
  • Root
    • Tailwind - A utility-first CSS framework packed with classes with humen-friendly name; highly customizable.
  • Syllabus
    • Redux - Library used to manage the state of front-end.
    • Semantic UI React - Official React integration for Semantic UI, a development framework that helps create layouts with prebuilt components easily.
  • Campus
    • React Bootstrap - Official React integration for Bootstrap, a frequently updated development framework that helps create layouts with prebuilt components easily.

Contributing

Submit an issue or a pull request! 😊

Contributors


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

💻🤔

This project follows the all-contributors specification.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

FOSSA Status

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].