Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
111 commits
Select commit Hold shift + click to select a range
1f6e49b
Forgot to commit previously, but this is the basic setup, and start t…
casalm26 Jul 12, 2025
bf46272
feat: implement chart components with Recharts library
casalm26 Jul 12, 2025
9c5a1d9
feat: implement global filters with date range and forest selection
casalm26 Jul 12, 2025
4541c9d
feat: implement interactive forest map with Leaflet
casalm26 Jul 12, 2025
98377b6
fixed infinite loop bug
casalm26 Jul 12, 2025
fd14829
fix
casalm26 Jul 12, 2025
b264182
added image
casalm26 Jul 12, 2025
4bb65c8
fix
casalm26 Jul 12, 2025
8b24a17
added global filters
casalm26 Jul 13, 2025
31dfe48
initial setup of the backend, with models, seeding data and middleware.
casalm26 Jul 13, 2025
c9601ac
worked on map implementation and ttree detail view
casalm26 Jul 13, 2025
fc245e5
data export and admin updates
casalm26 Jul 13, 2025
287a512
further work on backend auth, export and tree tracking.
casalm26 Jul 13, 2025
8915bfd
accessibility and polish to the frontend
casalm26 Jul 13, 2025
3916721
test and cleanup in the backend done
casalm26 Jul 13, 2025
29353bf
Backend: tests, endpoints and documentation
casalm26 Jul 13, 2025
67ef4e9
added dark mode toggle
casalm26 Jul 15, 2025
a4ff308
Fixes for deployment
casalm26 Jul 15, 2025
70e3189
Updated paths in the backend.
casalm26 Jul 15, 2025
981926b
fixed login path to handle render spin down
casalm26 Jul 15, 2025
5a3ca30
Temporarily allow all CORS origins for testing
casalm26 Jul 15, 2025
3aadaa2
Add debugging logs and health check endpoints
casalm26 Jul 15, 2025
b1e8fd0
Add login debugging logs
casalm26 Jul 15, 2025
72eba8d
Removed rate limits for testing
casalm26 Jul 15, 2025
f6da0b7
Backend: Remove temporary auth fixes and restore production authentic…
casalm26 Jul 15, 2025
9cb76d0
Frontend: Update API to use proper authentication endpoint
casalm26 Jul 15, 2025
2f0b1d5
cleanup of backend
casalm26 Jul 15, 2025
2ebf8b0
fix auth for frontend
casalm26 Jul 15, 2025
d91b12a
fixed duplicate variable
casalm26 Jul 15, 2025
eb8c3b0
Fix error handling in cold start detection hook
casalm26 Jul 15, 2025
d9eb341
fixed testing issue with login
casalm26 Jul 15, 2025
c36e9ba
fixed UI bug in the dashboard
casalm26 Jul 15, 2025
9a2083c
UI cleanup
casalm26 Jul 15, 2025
f778ed7
updated gitignore
casalm26 Jul 15, 2025
d8e5595
backend: refactored config files
casalm26 Jul 16, 2025
d7b7670
complete refactor of frontend components
casalm26 Jul 16, 2025
eaed263
Complete refactor of the backend.
casalm26 Jul 16, 2025
fbfc92f
temporarily removed rate limits to test
casalm26 Jul 16, 2025
48dfb4d
Add debugging to dashboard controller to diagnose database connection…
casalm26 Jul 16, 2025
c82fe74
Remove ALL remaining rate limiters from backend routes - dashboard, c…
casalm26 Jul 16, 2025
82c913f
Fix infinite request loop in dashboard hooks and remove debug logging
casalm26 Jul 16, 2025
3e1b55e
Trying to fix login auth
casalm26 Jul 17, 2025
389c0db
Trying to fix login auth
casalm26 Jul 17, 2025
ac6eb52
debugging CORS-issues
casalm26 Jul 17, 2025
bf05594
Login should be fixed again.
casalm26 Jul 17, 2025
e9df2da
Fixed functionality for the map and export
casalm26 Aug 6, 2025
b7ab9df
Fixed the map view, got it working again
casalm26 Aug 6, 2025
ab6a83d
Updated treestorage, some edits to the map component
casalm26 Aug 6, 2025
a2406a9
Added export of ALL trees in the export function
casalm26 Aug 6, 2025
e83410d
Fixed export of ALL trees in the export function
casalm26 Aug 7, 2025
a1ce8eb
Fix for ALL trees in the export function
casalm26 Aug 7, 2025
4a00aa5
Fix for ALL trees in the export function in front end
casalm26 Aug 7, 2025
c68bb0e
Updated controller for exports
casalm26 Aug 8, 2025
c1b7f32
backend fix
casalm26 Aug 8, 2025
b345238
Fixed map breakdown, and some UX improvements.
casalm26 Aug 8, 2025
a5171a1
New seeder to populate the database with a lot more data
casalm26 Aug 8, 2025
99de64b
Fixed chart height on desktop
casalm26 Aug 9, 2025
00d9c98
enhanced seeder
casalm26 Aug 9, 2025
a46b1ef
added dashboard metrics in the API
casalm26 Aug 11, 2025
2e32214
Removed rate-limits for testing
casalm26 Aug 11, 2025
4219869
updated dashboards, and split them up
casalm26 Aug 13, 2025
ca9567e
Fixed dark mode failings and accessibility on one dashboard
casalm26 Aug 13, 2025
c93e40c
fixed admin dashboard and some UX improvements
casalm26 Aug 13, 2025
81b3c41
Fix of charts to display correct historical data.
casalm26 Aug 15, 2025
3be065b
Fix of charts to display correct historical data.
casalm26 Aug 15, 2025
e51fcc7
Fixed one of the charts acting up
casalm26 Aug 18, 2025
fa34299
UI fixes and removal of unnecessary charts
casalm26 Aug 18, 2025
cd69831
deleted the admin view and related components
casalm26 Aug 18, 2025
9ac583d
removed the export functionality everywhere exept from the export page
casalm26 Aug 18, 2025
c695447
fixed the sidebar navigation menu in the dashboard
casalm26 Aug 19, 2025
806e022
further deletions and edits of charts.
casalm26 Aug 19, 2025
bfbb494
Fixed bug in tree view from the map.
casalm26 Aug 22, 2025
6a9b3a5
Updated API for filtering purposes
casalm26 Aug 22, 2025
ce48114
refining the dashboards
casalm26 Aug 25, 2025
48a7925
Zoom on map start at 5.
casalm26 Aug 26, 2025
248345e
Fix for filters
casalm26 Aug 26, 2025
a2a4c01
Fix for the dashboards
casalm26 Aug 26, 2025
482757b
Fix for filters again
casalm26 Aug 26, 2025
8e0367b
Data improvements in the backend
casalm26 Aug 26, 2025
d4f533c
Data improvements in the backend again
casalm26 Aug 26, 2025
51de9ee
Improvements in calculation for CO2
casalm26 Aug 26, 2025
6a8a9b4
Performance improvements
casalm26 Aug 26, 2025
cef59ca
Performance improvements
casalm26 Aug 26, 2025
06abf75
Performance improvements and dashboard refinements
casalm26 Aug 27, 2025
27ec1c6
Performance improvements and cleanup
casalm26 Aug 27, 2025
189bc77
Performance improvements and cleanup again
casalm26 Aug 27, 2025
4308796
Cleanup of unused code in the frontend
casalm26 Aug 27, 2025
57886ef
Fix for map filter
casalm26 Aug 27, 2025
278f913
Fix for map filter again
casalm26 Aug 27, 2025
6411b30
Fix for map filter again
casalm26 Aug 27, 2025
26b76dd
Cleanup of the map view
casalm26 Aug 27, 2025
3bd8697
Cleanup
casalm26 Aug 27, 2025
554c9ac
restored cleanup
casalm26 Aug 28, 2025
605ce5e
some state management fixes, and filters
casalm26 Aug 28, 2025
aa9eff8
Loading state fixes.
casalm26 Aug 28, 2025
766d28a
Made the site not crash
casalm26 Aug 28, 2025
1793277
Refinements of the export function
casalm26 Aug 28, 2025
38e5be3
fix for a 404 error
casalm26 Aug 28, 2025
32daab8
Fir for overview dashboard and console error
casalm26 Aug 28, 2025
63b23ae
Fixed problem with a chart on dashboard
casalm26 Aug 28, 2025
7c06d2e
A11y updates
casalm26 Aug 28, 2025
68aab32
A11y updates again
casalm26 Aug 29, 2025
229db20
ARIA updates for A11y
casalm26 Aug 29, 2025
7e065b7
Changed meta
casalm26 Aug 29, 2025
2feab98
Removed unused files for performance
casalm26 Aug 29, 2025
6ea1381
Removed unused files
casalm26 Aug 29, 2025
e7cbd7a
Removed unused files
casalm26 Aug 29, 2025
0839218
fixed readme
casalm26 Aug 29, 2025
d7a954c
fixed readme
casalm26 Aug 29, 2025
f432958
fixes for hand-in
casalm26 Aug 29, 2025
8cfc4a3
fix for signup
casalm26 Oct 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,6 @@ npm-debug.log*
yarn-debug.log*
yarn-error.log*

package-lock.json
package-lock.json


1 change: 0 additions & 1 deletion Procfile

This file was deleted.

14 changes: 6 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
# Final Project
# Nanwa - Forestry

Replace this readme with your own information about your project.
A comprehensive forestry management platform providing real-time tree monitoring, data analytics, and environmental impact tracking. The application enables forest managers to monitor tree health, track growth patterns, analyze carbon absorption, and manage forestry investments through an intuitive dashboard interface.

Start by briefly describing the assignment in a sentence or two. Keep it short and to the point.

## The problem

Describe how you approached to problem, and what tools and techniques you used to solve it. How did you plan? What technologies did you use? If you had more time, what would be next?
Built with React and modern web technologies, Nanwa offers interactive maps, detailed analytics charts, and comprehensive data export capabilities for sustainable forest management.

## View it live

Every project should be deployed somewhere. Be sure to include the link to the deployed project so that the viewer can click around and see what it's all about.
[Live Demo](https://nanwa.netlify.app/)
[Live API](https://project-final-frontend-4bia.onrender.com)
Login credentials on the login page!
14 changes: 14 additions & 0 deletions backend/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
node_modules
npm-debug.log
.git
.gitignore
README.md
.env
.env.local
.env.development
.env.production
coverage
.nyc_output
.DS_Store
*.log
logs
32 changes: 32 additions & 0 deletions backend/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Use the official Node.js LTS image
FROM node:18-alpine

# Set working directory
WORKDIR /app

# Copy package files
COPY package*.json ./

# Install dependencies
RUN npm ci --only=production

# Copy source code
COPY . .

# Create non-root user
RUN addgroup -g 1001 -S nodejs
RUN adduser -S nanwa -u 1001

# Change ownership of the app directory
RUN chown -R nanwa:nodejs /app
USER nanwa

# Expose port
EXPOSE 8080

# Health check
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
CMD node healthcheck.js

# Start the application
CMD ["npm", "start"]
9 changes: 9 additions & 0 deletions backend/babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
export default {
presets: [
['@babel/preset-env', {
targets: {
node: 'current',
},
}],
],
};
Loading