TEAM Adranth (Thomas, Adrien & Antoine) ; SAE 3.01
MaNaturothèque is a NextJS web app that allows consultation of the fauna & flora using TaxRef™ API with a twist, the ability to create an account and favorite taxa to your personal area for further consultation.
-
- Term & Language-Based Taxa Search (also adjustable with a rank filter)
- Taxa Image Scraping from INPN (when available)
- Detailed Taxa Information (provided by TaxRef)
- Personal / Favorite Area of saved Taxa (when connected)
-
- Secure Account Creation
- Email verification
- Password encryption (using BycryptJS)
- Secure password enforcement
- Login with Session Management & Renewal
- Password Reset
- Secure Account Creation
-
- Switch between dark & light color themes
- Switch between French & English
- Responsive CSS to improve tablet & mobile experience
- Visual Studio Code
- NodeJS ≥ v20.10.0
⚠️ ⚠️ ⚠️
-
Ensure you have a local database
mysql://root@localhost:3306/
running, to do so :- Install XAMPP™
- Launch XAMPP Control Panel, turn on Apache & MySQL
-
Clone the repository in Visual Studio Code or by running
gh repo clone UUUUUwUUUUU/SAE3.01-Public
-
Create a new
.env
file in root, then add and complete the followingBASE_URL="http://localhost:3000/" SECRET_COOKIE_PASSWORD="..." // Can be generated using https://krenbot.github.io/pw-generator/ SENDINBLUE_API_KEY="..." // Need to create an account on https://www.brevo.com/
-
Install the project dependencies by running:
npm i
-
Run the following commands in the terminal:
npx prisma migrate dev --name init
npx prisma generate
-
Start the development server by running:
npm run dev
Or build using:
npm run launch
Note
Closing Visual Studio Code will also close the npm dev server.
- Open http://localhost:3000/ in your browser to access the app
Warning
The following commands will reset your Prisma database. A prompt will ask for confirmation (y/n).
-
Run the following commands:
npx prisma migrate reset
npx prisma migrate dev
Important
This will delete your current /node_modules
and reinstall the packages.
-
Run the following command:
npm ci