A reservation calendar application with memo creation functionality. Built with Django backend, PostgreSQL database, and React Next.js frontend.
- Reservation Calendar: Create and manage calendar events
- Personal Memos: Create and organize your own memos
- Full-Stack Architecture: Modern web application with REST API
- Backend: Python Django
- Database: PostgreSQL
- Frontend: React with Next.js
- Development Environment: Windows WSL (Windows Subsystem for Linux)
- Python 3.8+
- Node.js 16+
- PostgreSQL
- Windows WSL (if developing on Windows)
-
Clone the repository
git clone git@github.com:ayekyiphyu/api_create.git cd api_create -
Create virtual environment
python -m venv venv source venv/bin/activate # On Windows WSL
-
Install Python dependencies
pip install -r requirements.txt
-
Database Setup
# Install PostgreSQL (Ubuntu/WSL) sudo apt update sudo apt install postgresql postgresql-contrib # Start PostgreSQL service sudo service postgresql start # Create database sudo -u postgres createdb reserveit_db
-
Environment Configuration
# Copy environment file cp .env.example .env # Edit .env file with your database credentials nano .env
-
Run migrations
python manage.py makemigrations python manage.py migrate
-
Create superuser
python manage.py createsuperuser
-
Start development server
python manage.py runserver
-
Navigate to frontend directory
cd frontend # or wherever your Next.js app is located
-
Install dependencies
npm install # or yarn install -
Start development server
npm run dev # or yarn dev
-
Access the application
- Backend API:
http://localhost:8000 - Frontend:
http://localhost:3000 - Admin Panel:
http://localhost:8000/admin
- Backend API:
-
Create reservations
- Navigate to the calendar interface
- Click on desired date/time slots
- Fill in reservation details
-
Manage memos
- Access memo section
- Create, edit, and organize personal notes
# Backend tests
python manage.py test
# Frontend tests
npm test# Python formatting
black .
flake8 .
# JavaScript formatting
npm run lint- Fork the repository
- Create a feature branch (
git checkout -b feature/new-feature) - Commit changes (
git commit -m 'Add new feature') - Push to branch (
git push origin feature/new-feature) - Create Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Author: AYE KYI PHYU
- Email: shinchan.lilo92@gmail.com
- GitHub: @ayekyiphyu
- PostgreSQL connection errors: Ensure PostgreSQL service is running
- Permission denied: Use
sudofor system-level operations in WSL - Port conflicts: Check if ports 3000 and 8000 are available
- PostgreSQL service may need to be started manually:
sudo service postgresql start - File permissions might need adjustment when working between Windows and WSL
## superuser
* username : test@gmail.com
* password : test12345
# normaluser
* username : mt@gmail.com
* password : test12345
# forget password (request)
* 'email': 'user@example.com'
※ if you use this email api is working and password will be reset.