UEFS Semester is a website that shows information about the days remaining until the end of the academic semester at UEFS, and also posts daily on Twitter/X so that the institution's students can follow the days on the social network.
- Link: https://semestreuefs.laerciorios.com/
- Twitter/X: https://x.com/uefssemestre
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
To install this project locally, follow the steps below:
-
Make sure you have Node.js installed on your system.
-
Clone this repository:
git clone https://github.com/LaercioSR/semester-uefs.git cd semester-uefs
-
To run the posting features on Twitter/x you will need to create a developer account to have access to the social network's API, see more at: https://developer.twitter.com/
-
Copy the .env:
cp .env.example .env
After that, you need to fill in the .env with the credentials for the Twitter/X API.
-
Install the dependencies:
npm install
-
How to Run the Project:
After installation, you can run the project locally with the following command:
npm run dev
The site will run locally at http://localhost:3000.
With the dependencies installed, follow the following steps to run the tests.
We use CyPress to run the interface's E2E tests.
npm run test
For code styles we use ESLint.
npm run lint
This project uses the following technologies:
- Next.JS: A React framework.
- React: A popular JavaScript library for building user interfaces.
- Vercel: Platform used to host the project.
- Github Actions: Github functionality used for building CI/CD pipelines.
- Styled-Components: A CSS-in-JS library for styling components.
- ESLint: Analyzer for checking errors and code patterns.
- CyPress: Tool for building interface tests.
- Twitter/X Api: API for posting tweets on the social network.
- twitter-api-v2: JS dependency that allows access to Twitter/X API resources.
- zod: Creation and validation schema in TS.
- Material Symbols (Google): Google's Material Design icons library.
Made with ❤️ by Laercio Rios 😊