divyansh-2005 / my-calendar-app

My Calendar App is a full-stack application designed to help users manage their schedules, expenses, todos, and notes all in one place. The app provides a seamless and intuitive user interface for efficient day-to-day management and includes robust backend support for secure data handling and user authentication.
https://my-calendar-app-phi.vercel.app
19 stars 42 forks source link
gssoc-ext hacktoberfest hacktoberfest-accepted

πŸ“… My Calendar App

πŸ“ Overview

My Calendar App is a full-stack application designed to help users manage their schedules, expenses, to-dos, and notes all in one place. The app provides a seamless and intuitive user interface for efficient day-to-day management, along with robust backend support for secure data handling and user authentication.

✨ Features

πŸ’» Technologies Used

Frontend

Backend

πŸš€ Deployment

🚧 Getting Started

Prerequisites

Frontend:

Backend:

πŸ›  Installation

1. Clone the Repository

git clone https://github.com/divyansh-2005/my-calendar-app.git
cd my-calendar-app

2. Setting up the Backend

  1. Navigate to the backend directory:

    cd backend
  2. Install dependencies:

    npm install
  3. Create a .env file in the root directory of the backend and add the following environment variables:

    MONGO_URI=your_mongo_db_connection_string
    JWT_SECRET=your_jwt_secret
    PORT=5000
  4. Start the backend server:

    npm run dev

    The server will run on http://localhost:5000.

3. Setting up the Frontend

  1. Navigate to the frontend directory:

    cd frontend
  2. Install dependencies:

    npm install
  3. Start the frontend development server:

    npm run dev

    The frontend will run on http://localhost:3000.

Project Structure

my-calendar-app/
β”œβ”€β”€ backend/           # Backend Node.js and Express API
β”‚   β”œβ”€β”€ models/        # Mongoose models
β”‚   β”œβ”€β”€ routes/        # Express routes
β”‚   β”œβ”€β”€ controllers/   # Request handlers
β”‚   β”œβ”€β”€ middleware/    # Middleware functions
β”‚   β”œβ”€β”€ config/        # Configuration files
β”‚   └── ...
β”œβ”€β”€ frontend/          # Frontend React application
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/  # Reusable components
β”‚   β”‚   β”œβ”€β”€ pages/       # Page components
β”‚   β”‚   β”œβ”€β”€ context/     # Context API for state management
β”‚   β”‚   β”œβ”€β”€ services/    # Axios services for API calls
β”‚   β”‚   └── ...
β”‚   └── ...
└── README.md          # Project README file

πŸ“‘ API Endpoints

Refer to the Backend Documentation for detailed information on available API endpoints.

πŸ§ͺ Testing

Backend

Use Postman or any other API client to test backend endpoints. Set the headers to include x-auth-token for authenticated requests.

Frontend

Ensure that the backend server is running. Use your browser to access the frontend on http://localhost:3000 and interact with the application.

πŸ›  Deployment

Backend

  1. Push the backend code to your Heroku repository.
  2. Set the environment variables on Heroku using the .env file.

Frontend

  1. Deploy the frontend on Vercel by linking your repository.
  2. Ensure the frontend is configured to communicate with the deployed backend.

πŸ“œ License

This project is licensed under the MIT License.

πŸ™Œ Contributing

Contributions are welcome! Please fork the repository and create a pull request with your changes. For more information on how to contribute, please refer to our CONTRIBUTING.md.

Our Valuable Contributors

Contributors


For any questions or issues, feel free to contact me or raise an issue in the repository.