AntAlmanac is a schedule planner website for classes at UC Irvine. These are some of its features:
Our website is a single page React application hosted on Github Pages. A summary of the libraries we use are listed below.
AntAlmanac was created in 2018 by a small group of students under the leadership of @the-rango.
They formed an AntAlmanac club to recruit other students and work on new features,
so that the website would live on even after its makers graduated.
In 2019, @devsdevsdevs took over as AntAlmanac Project Lead and oversaw a massive rewrite of the codebase, laying the foundation for the AntAlmanac that we know and love today.
In 2020, AntAlmanac was adopted by the ICSSC Projects Committee, which continues to provide funding, marketing, and engineering to support the growing number of users and open-source developers that make up our AntAlmanac Community.
Since then, the project has continued to evolve and grow with successive generations of projects committee members!
Year | Project Lead |
---|---|
2018 - 2019 | @the-rango (founder) |
2019 - 2021 | @devsdevsdevs |
2021 - 2022 | @ChaseC99 |
2022 - 2024 | @EricPedley |
2023 - Present | @ap0nia |
2024 - Present | @MinhxNguyen7 |
We welcome open-source contributions 🤗. Here is a rough guide on how to contribute:
We also have a 30 minute contributor video tutorial available on YouTube.
If you ever need help, feel free to ask around on our Discord server.
Install Node.js
. This allows you to run JavaScript on your computer (outside of a browser).
This is best done with a version manager that allows you to easily switch between
Node.js versions based on the requirements of different projects.
Try using any of the following.
If none of those work for any reason, you can defer to your Operating System's package manager or the downloads from the official website. We will be using the latest LTS version, 20.10.0, lts/iron.
Install pnpm
. This is our package manager of choice for this project.
It's responsible for installing, uninstalling, and keeping track of the app's dependencies.
npm install --global pnpm
Clone the AntAlmanac repository or your fork.
git clone https://github.com/icssc/AntAlmanac.git
Navigate to the root directory and install the dependencies.
cd AntAlmanac && pnpm install
Start the development server for the frontend.
pnpm start:aa
or cd apps/antalmanac && pnpm dev
View the local website at http://localhost:5173. As you make changes to the React application, those changes will be automatically reflected on the local website.
For more information on developing the frontend and backend projects locally, see their respective READMEs.
Typically, you won't need to start the backend server locally because an active development server is available for usage.
However, if you would like to start both the frontend and the backend locally,
you can run pnpm start
from the project root.
From the root directory, run pnpm test
. Or from any directory, run pnpm -w test
.
npm i -g <package>
failsThis is usually an issue with permissions because npm
is trying to install a Node package
into a globally accessible location like /bin
, which needs admin permissions to do so.
The best way to resolve this is to install Node via any version manager to properly handle these sorts of permissions. Here are the different version managers again.
A more convenient, but less secure way to resolve this is to run the command with admin privileges, e.g with sudo
.
Try disabling your adblocker.
An example .env.sample
is provided and can be used by renaming it to .env
If you need real credentials to access the database or private resources,
please contact a project lead.