This repository contains the Trip Organizer application, which consists of:
- ASP.NET Core Web API backend
- React.js frontend
- PostgreSQL database
- .NET 8.0 SDK
- Node.js 18+
- PostgreSQL
-
Set up the database:
- Install PostgreSQL if not already installed
- Create a new database named 'triporganizer_lab4'
- Update the connection string in
TripOrganizer.API/appsettings.Production.jsonif needed
-
Build and run the application:
./build.sh cd bin && ./TripOrganizerAPI
The backend will start on http://localhost:5000
-
The application will be available at:
http://localhost:5000 - API Endpoints: - Authentication: http://localhost:5000/api/auth - Health Check: http://localhost:5000/api/auth/health
The application uses a three-tier architecture:
- Frontend: React.js application
- Backend: ASP.NET Core Web API
- Database: PostgreSQL
Configuration is handled through appsettings files:
appsettings.Production.jsonfor production settings- Database connection string
- JWT authentication settings
- CORS settings
- Health check settings
- POST
/api/auth/register- Register a new user - POST
/api/auth/login- Login and get JWT token - GET
/api/auth/verify- Verify JWT token - GET
/api/auth/health- Simple health check
- JWT authentication for API endpoints
- Secure password storage using ASP.NET Core Identity
- CORS configuration for frontend access
- Password requirements:
- Minimum 8 characters
- Must include uppercase and lowercase letters
- Must include numbers
- Must include special characters