SmartCalendar är en kalenderapplikation utformad för att hjälpa användare att hantera sina händelser och scheman på ett effektivt sätt.
Versionen av koden som har lämnats för granskning är taggad som v3.0-review. För att ladda ner och använda denna version:
- Gå till projektets GitHub-sida: https://github.com/slidecart/G19SmartCalender.
- Klicka på fliken "Releases" eller "Tags" och hitta taggen
v3.0-review. - Klicka på "Download ZIP" under
v3.0-reviewför att ladda ner källkoden som en ZIP-fil. - Extrahera ZIP-filen till en mapp på din dator.
- Öppna projektet i din IDE:
- IntelliJ IDEA: Välj "Open" och navigera till den extraherade mappen.
- VS Code: Välj "Open Folder" och välj den extraherade mappen.
Backend är en Spring Boot-applikation byggd med Maven och startas via klassen AppApplication. För att köra den krävs:
- Java 17 (eller den version som anges i
pom.xml). - Maven (installerat på din dator eller via din IDE:s inbyggda stöd).
- Öppna projektet i IntelliJ IDEA genom att välja den extraherade mappen.
- Vänta tills IntelliJ har indexerat projektet och laddat ner Maven-beroenden (detta sker automatiskt om Maven är aktiverat).
- Hitta filen
AppApplication.javaibackend/backend/app/src/main/java/com.smartcalender.app/AppApplication.java. - Högerklicka på
AppApplication.javaoch välj "Run 'AppApplication.main()'". - Backend startar och körs på port 8080 ifall man vill testa detta på webbläsaren eller i exempelvis programmet Postman.
-
Öppna projektet i VS Code genom att välja den extraherade mappen.
-
Installera rekommenderade tillägg som "Java Extension Pack" och "Spring Boot Extension Pack" om du inte redan har dem.
-
Öppna en terminal i VS Code (Terminal > New Terminal).
-
Navigera till rotmappen (om du inte redan är där) och kör:
mvn clean install mvn spring-boot:run -
Backend startar och körs på port 8080.
Frontend är byggd med Create React App, en verktygslåda för React-applikationer som använder Node.js och npm. För att köra den krävs:
- Node.js (rekommenderas version 16 eller senare) och npm (ingår med Node.js). Ladda ner från nodejs.org om det inte är installerat.
-
Öppna en terminal i IntelliJ (View > Tool Windows > Terminal).
-
Navigera till frontend-mappen:
cd frontend -
Installera beroenden:
npm install -
Starta frontend:
npm start -
Frontend startar på port 3000 och öppnas automatiskt i din webbläsare på
http://localhost:3000.
-
Öppna projektet i VS Code och navigera till frontend-mappen i filutforskaren.
-
Öppna en terminal (Terminal > New Terminal).
-
Kontrollera att du är i frontend-mappen (annars:
cd frontend). -
Installera beroenden:
npm install -
Starta frontend:
npm start -
Frontend startar på port 3000 och öppnas automatiskt i din webbläsare på
http://localhost:3000.
Backend läser in följande variabler från miljön innan start (se backend/backend/app/src/main/resources/application.properties):
DB_HOST,DB_PORT,DB_NAMEDB_USER,DB_PASSWORDEMAIL_API_KEY
Dessa måste finnas i din miljö eller sättas via ett startskript för att backend ska fungera.
Frontend använder env-filer för att veta vilken backend som ska anropas:
-
.env.productionfinns i repot och innehållerREACT_APP_BACKEND_URLför produktionsservern. -
.env.local(gitignored) behöver du skapa själv och ge innehålletREACT_APP_BACKEND_URL=http://localhost:8080/api/
Se till att miljövariablerna enligt ovan är satta innan du startar backend. Frontend använder env-filerna .env.production respektive .env.local enligt beskrivningen i avsnittet Miljövariabler.
- Backend: Applikationen använder en extern PostgreSQL-databas, vilket kan orsaka problem för externa aktörer som försöker använda funktioner kopplade till datan i databasen.
- Frontend: I dagsläget är funktionaliteten begränsad, men applikationen startar utan problem och visar en grundläggande vy.
- Portar: Se till att portarna 8080 (backend) och 3000 (frontend) är lediga på din dator.
- IDE-inställningar: Om du stöter på problem, kontrollera att din IDE har rätt Java- och Node.js-versioner konfigurerade i inställningarna.
SmartCalendar is a calendar application designed to help users manage their events and schedules efficiently.
The version of the code submitted for review is tagged v3.0-review. To download and use this version:
- Visit the project's GitHub page: https://github.com/slidecart/G19SmartCalender.
- Click the "Releases" or "Tags" tab and locate the tag
v3.0-review. - Click "Download ZIP" under
v3.0-reviewto download the source code as a ZIP file. - Extract the ZIP file to a folder on your computer.
- Open the project in your IDE:
- IntelliJ IDEA: Choose "Open" and navigate to the extracted folder.
- VS Code: Choose "Open Folder" and select the extracted folder.
The backend is a Spring Boot application built with Maven and started via the class AppApplication. To run it you need:
- Java 17 (or the version specified in
pom.xml). - Maven (installed on your computer or via your IDE's built-in support).
- Open the project in IntelliJ IDEA by selecting the extracted folder.
- Wait for IntelliJ to index the project and download Maven dependencies (this happens automatically if Maven is enabled).
- Locate the file
AppApplication.javainbackend/backend/app/src/main/java/com.smartcalender.app/AppApplication.java. - Right-click
AppApplication.javaand choose "Run 'AppApplication.main()'". - The backend starts and runs on port 8080 if you want to test it in your browser or for example in Postman.
-
Open the project in VS Code by selecting the extracted folder.
-
Install recommended extensions such as "Java Extension Pack" and "Spring Boot Extension Pack" if you don't already have them.
-
Open a terminal in VS Code (Terminal > New Terminal).
-
Navigate to the root folder (if you are not already there) and run:
mvn clean install mvn spring-boot:run -
The backend starts and runs on port 8080.
The frontend is built with Create React App, a toolkit for React applications that uses Node.js and npm. To run it you need:
- Node.js (version 16 or later is recommended) and npm (included with Node.js). Download from nodejs.org if it is not installed.
-
Open a terminal in IntelliJ (View > Tool Windows > Terminal).
-
Navigate to the frontend folder:
cd frontend -
Install dependencies:
npm install -
Start the frontend:
npm start -
The frontend starts on port 3000 and automatically opens in your browser at
http://localhost:3000.
-
Open the project in VS Code and navigate to the frontend folder in the file explorer.
-
Open a terminal (Terminal > New Terminal).
-
Ensure you are in the frontend folder (otherwise:
cd frontend). -
Install dependencies:
npm install -
Start the frontend:
npm start -
The frontend starts on port 3000 and opens automatically in your browser at
http://localhost:3000.
The backend reads the following variables from the environment before startup (see backend/backend/app/src/main/resources/application.properties):
DB_HOST,DB_PORT,DB_NAMEDB_USER,DB_PASSWORDEMAIL_API_KEY
These must be present in your environment or provided through a startup script for the backend to function.
The frontend uses env files to know which backend to call:
-
.env.productionis included in the repo and containsREACT_APP_BACKEND_URLfor the production server. -
.env.local(gitignored) must be created by you with the contentREACT_APP_BACKEND_URL=http://localhost:8080/api/
Make sure the environment variables described above are set before you start the backend. The frontend uses the env files .env.production and .env.local as explained in the Environment variables section.
- Backend: The application uses an external PostgreSQL database, which may cause issues for external parties trying to use features tied to the data in the database.
- Frontend: The functionality is currently limited, but the application starts without problems and shows a basic view.
- Ports: Ensure that ports 8080 (backend) and 3000 (frontend) are free on your computer.
- IDE settings: If you encounter problems, verify that your IDE is configured with the correct versions of Java and Node.js.