/student-accommodation-api

A simple student accommodation system that allows students to book rooms and pay for them. The system also allows landlords to add rooms and view the rooms that have been booked. The system is built using the Django framework for the backend and the frontend is built using Next.js, Typescript and TailwindCSS.

Primary LanguageTypeScript

Student Accommodation System

Code Style Check CodeQL

A simple student accommodation system that allows students to book rooms and pay for them. The system also allows landlords to add rooms and view the rooms that have been booked. The system is built using the Django framework for the backend and the frontend is built using Next.js, Typescript and TailwindCSS.

Getting Started

To get started with the project, you will need to have the following installed on your machine:

  • Docker 25.0+
  • Docker Desktop (Optional)
  • Makefile VSCode extension (Optional, enhances Makefile command integration in VSCode)
  • Make

Note: Make must be installed on your system to use these commands. Linux and macOS users typically have Make pre-installed. Windows users may need to install it separately.

Backend

Make sure you have the environment variables set in a .env file in the backend directory. You can use the .env.example file as a template.

Frontend

Make sure you have the environment variables set in a .env.local file in the frontend directory. You can use the .env.local.example file as a template.

Running the project

To run the project for the first time, you will need to run the following commands:

make build

After running the above command, you can run the following command to set the django superuser:

make superuser

If you want to watch for changes while you make modifications to the code, you can run the following command in a separate terminal window:

make watch

If you want to only run the backend, you can run the following command:

make build-server

To run the containers without rebuilding them, you can run the following command:

make up

To stop the containers, you can run the following command:

make stop

To bring down the containers, you can run the following command:

make down

To bring the containers together with their volumes, you can run the following command:

make down-v

For more information on running the project, you can refer to the Makefile

Accessing the project

You can then access the backend at http://localhost:8000 and the frontend at http://localhost:3000.

Screenshot from 2024-02-27 17-10-22 Screenshot from 2024-02-27 17-09-42