This is a simple Todo application with a React frontend and a Flask backend. The backend provides an API with JSON data for the frontend to consume and display.
- Project Overview
- Project Structure
- Setup Instructions
- Group Project Guidelines
- API Endpoints
- License
The Todo App is designed to help users manage their tasks. Users can create, read, update, and delete todo items. The frontend is built using Next.js, and the backend is built using Flask and PostgreSQL.
todo/
├── backend/
│ ├── app/
│ │ ├── init.py
│ │ ├── database/
│ │ │ ├── init.py
│ │ │ ├── database.py
│ │ ├── models/
│ │ │ ├── init.py
│ │ │ ├── todo.py
│ │ │ ├── user.py
│ │ ├── routes/
│ │ │ ├── init.py
│ │ │ ├── todos.py
│ │ │ ├── users.py
│ │ ├── utils/
│ │ │ ├── init.py
│ │ │ ├── config.py
│ │ │ ├── password_manager.py
│ ├── venv/
│ ├── requirements.txt
│ └── run.py
├── frontend/
├── .gitignore
├── README.md
└── docker-compose.yml
- Navigate to the
backend/
directory. - Create and activate a virtual environment:
python3 -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
- Install dependencies:
pip install -r requirements.txt
- Run the Flask app:
python run.py
- Navigate to the
frontend/
directory. - Install dependencies:
npm install
- Start the local development server:
npm run dev
- Build the app for deployement:
npm run build
- Collaboration: Emphasize teamwork and communication. Regularly discuss progress and challenges with the team.
- Original Work: Ensure that all code contributions are original and avoid plagiarism.
- Code Reviews: Conduct code reviews to maintain code quality and share knowledge among team members.
- Task Management: Use a project management tool to track tasks and assign responsibilities.
- Documentation: Keep documentation up-to-date to help onboard new team members and maintain clarity.
- Testing: Write tests for your code to ensure functionality and prevent future issues.
- Version Control: Use Git for version control. Create branches for features and merge them through pull requests.
Here is a summary of the main API endpoints provided by the backend:
- BASE_URL: https://todo-kb6p.onrender.com
- GET /todos: Retrieve all todo items.
- POST /todos: Create a new todo item.
- GET /todos/id: Retrieve a specific todo item by ID.
- PATCH /todos/id: Update a specific todo item by ID.
- DELETE /todos/id: Delete a specific todo item by ID.
- GET /users: Retrieve all user items.
- POST /users: Create a new user item.
- GET /users/id: Retrieve a specific user item by ID.
- PATCH /users/id: Update a specific user item by ID.
- DELETE /users/id: Delete a specific user item by ID.
This project is licensed under the MIT License. See the LICENSE file for details.